Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   Related Pages  

AnImageWriter.hpp

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);               // 24 bit 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);                               // any pbm or ppm (P5 or P6)
00066 bool isPam(const char* filename);                               // support multichannel grey/color
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
SourceForge.net Logo
Restoreinpaint sourceforge project `C++/Java Image Processing, Restoration, Inpainting Project'.

Bernard De Cuyper: Open Project Leader: Concept, design and development.
Bernard De Cuyper & Eddy Fraiha 2002, 2003. Bernard De Cuyper 2004. Open and free, for friendly usage only.
Modifications on Belgium ground of this piece of artistic work, by governement institutions or companies, must be notified to Bernard De Cuyper.
bern_bdc@hotmail.com