DLPPMImage.h

Go to the documentation of this file.
00001 #ifndef _DLPPMIMAGE_H_
00002 #define _DLPPMIMAGE_H_
00003 
00004 #include "DLImage.h"
00005 #include "DLBaseImage.h"
00006 #include "DLLogger.h"
00007 #include "DLSingletonDestroyer.h"
00014 class DLPPMImage : public DLBaseImage
00015 {
00019    template <class SINGLETON> friend class DLSingletonDestroyer;
00020    private:
00021 
00025    DLPPMImage();
00026 
00028    static DLPPMImage* ppmImageReader;
00031    static DLSingletonDestroyer<DLPPMImage> _destroyer;
00032 
00034         const static int DL_PPM_MAX_LINE_LENGTH = 256;
00035 
00036    protected:
00040    virtual ~DLPPMImage(){};
00041 
00042    public:
00043 
00044 
00045 
00047    static DLPPMImage * createImageReader();
00048 
00049 
00055    void dlLoadImage(const char* filename, DLImage& image);
00056 
00063    DLImage dlLoadImage(const void* pMemLoc, int nSize);
00064 
00070    DLImage dlLoadImage(const char* filename);
00071 
00079    DLImage dlLoadImageAtPage(const char* filename, int pageNumber);
00080 
00089    DLImage dlLoadImageAtPage(const void* pMemLoc, int nSize, int pageNumber);
00090 
00096    void dlSaveImage(const char* filename, const DLImage& dlimage);
00097 
00105    void* dlSaveImageToMem( int& nSize, const DLImage& dlimage);
00106 
00113    bool dlSupportImageFile(const char* filename);
00114 
00122    bool dlSupportImageBuffer(const void* pMemLoc, int size);
00123 
00130    int dlGetTotalPages(void* pMemLoc, int nSize);
00131 
00137    int dlGetTotalPages(const char* filename);
00138 };//end class
00139 
00140 static DLPPMImage * dlPpmProcessor = DLPPMImage::createImageReader();
00141 
00142 #endif //_DLPPMIMAGE_H_

DOCLIB is being developed under contract by a collaboration between:
The Laboratory for Language and Media Processing
Unviersity of Maryland, College Park
and
Booz | Allen | Hamilton

All Rights Reserved, 2003-2007