#ifndef IMAGE_H
#define IMAGE_H
class Image
{
public:
Image();
Image(const int w, const int h, const unsigned char *rgb,
const unsigned char *alpha);
~Image();
const unsigned char * getPNGAlpha() const { return(pngAlpha_); };
const unsigned char * getRGBData() const { return(rgbData_); };
void getPixel(double px, double py, unsigned char *pixel);
void getPixel(double px, double py, unsigned char *pixel,
unsigned char *alpha);
int Width() const { return(width_); };
int Height() const { return(height_); };
void Quality(const int q) { quality_ = q; };
bool Read(const char *filename);
bool Write(const char *filename);
bool Crop(const int x0, const int y0, const int x1, const int y1);
void Reduce(const int factor);
void Resize(const int w, const int h);
void Shift(const int x);
private:
int width_, height_, area_;
unsigned char *rgbData_;
unsigned char *pngAlpha_;
int quality_;
};
#endif
syntax highlighted by Code2HTML, v. 0.9.1