DLBMPImage.h

Go to the documentation of this file.
00001 #ifndef _DLBMPIMAGE_H_
00002 #define _DLBMPIMAGE_H_
00003 
00004 #include "DLImage.h"
00005 #include "DLBaseImage.h"
00006 #include "DLIOStream.h"
00007 #include "DLSingletonDestroyer.h"
00015 class DLBMPImage : public DLBaseImage
00016 {
00020    template <class SINGLETON> friend class DLSingletonDestroyer;
00021    private:
00025    DLBMPImage();
00026 
00028    static DLBMPImage* bmpImageReader;
00031    static DLSingletonDestroyer<DLBMPImage> _destroyer;
00032 
00033    protected:
00037    virtual ~DLBMPImage();
00038 
00046    DLImage dlLoadImage(DLIOStream &dlStream);
00047 
00053    void dlSaveImage(DLIOStream &dlStream, const DLImage& dlimage);
00054 
00055    public:
00057    static DLBMPImage * createImageReader();
00058 
00065    void dlLoadImage(const char* filename, DLImage& dlimage);
00066 
00072    DLImage dlLoadImage(const char* filename);
00073 
00080    DLImage dlLoadImage(const void* pMemLoc, int nSize);
00081 
00089    DLImage dlLoadImageAtPage(const char* filename, int pageNumber);
00090 
00099    DLImage dlLoadImageAtPage(const void* pMemLoc, int nSize, int pageNumber);
00100 
00106    void dlSaveImage(const char* filename, const DLImage& dlimage);
00107 
00114    void* dlSaveImageToMem(int& nSize, const DLImage &dlimage);
00115 
00122    bool dlSupportImageFile(const char* filename);
00123 
00131    bool dlSupportImageBuffer(const void* pMemLoc, int size);
00132 
00139    int dlGetTotalPages(void* pMemLoc, int nSize);
00140 
00146    int dlGetTotalPages(const char* filename);
00147 };//end class
00148 
00149 static DLBMPImage * dlBmpProcessor = DLBMPImage::createImageReader();
00150 
00151 #endif //_DLBMPIMAGE_H_
00152 
00153 

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