00001 #ifndef _AnImageWriter_H
00002 #define _AnImageWriter_H
00003
00023 #include "AnImage.hpp"
00024
00025 class AnImageWriter
00026 {
00027 protected:
00028
00029 #ifdef _WINDOWS_USED_
00030 int rle8Type1(unsigned char* dataImage, int originSize, int position, int scount, unsigned char val);
00031 int rle8Type2(unsigned char* dataImage, int originSize, int position, int scount, unsigned char* line,
00032 int pstart, int pend );
00033 int rle8Type2EOL(unsigned char* dataImage, int originSize, int position);
00034 int rle8Type2EOBmp(unsigned char* dataImage, int originSize, int position);
00035
00036 void writeBitmapGreyRLE8(const char* filename, AnImage* image);
00037 void writeBitmap8(const char* filename, AnImage* image);
00038 void writeBitmap24(const char* filename, AnImage* image);
00039
00040 void writeBitmap8ColorRLE8(const char* filename, AnImage* image);
00041 void writeBitmap8Color(const char* filename, AnImage* image);
00042 #endif
00043
00044 #ifdef _TIFF_USED_
00045 void writeTiff8(const char* filename, AnImage* image);
00046 void writeTiff24(const char* filename, AnImage* image);
00047
00048 void writeTiff16(const char* filename, AnImage* image);
00049 void writeTiff48(const char* filename, AnImage* image);
00050 #endif
00051
00052 void writeByteImage(const char* filename, AnImage* image);
00053 void writeShortImage(const char* filename, AnImage* image);
00054 void writeUShortImage(const char* filename, AnImage* image);
00055 void writeIntegerImage(const char* filename, AnImage* image);
00056
00057 void writeRGBImage(const char* filename, AnImage* image);
00058
00059
00060 bool isJpeg(const char* filename);
00061 bool isBmp(const char* filename);
00062 bool isTiff(const char* filename);
00063 bool isPgm(const char* filename);
00064 bool isPpm(const char* filename);
00065 bool isPnm(const char* filename);
00066 bool isPam(const char* filename);
00067 bool isTga(const char* filename){ return false; }
00068 bool isPng(const char* filename){ return false; }
00069
00070
00071 public:
00072 AnImageWriter(){}
00073 ~AnImageWriter(){}
00074
00075 void writeImage(const char* filename, AnImage* image);
00076
00077
00078 void output();
00079 };
00080
00081 #endif