Files
core/ASCOfficePDFReader/SBitmap.h

69 lines
1.6 KiB
C++

#ifndef _SBITMAP_H
#define _SBITMAP_H
#include "STypes.h"
//-------------------------------------------------------------------------------------------------------------------------------
// SBitmap
//-------------------------------------------------------------------------------------------------------------------------------
class SBitmap
{
public:
SBitmap(int nWidth, int nHeight, int nRowPad, SColorMode eMode, BOOL bAlpha, BOOL bTopDown = TRUE);
~SBitmap();
int GetWidth()
{
return m_nWidth;
}
int GetHeight()
{
return m_nHeight;
}
int GetStride()
{
return m_nStride;
}
int GetAlphaStride()
{
return m_nWidth;
}
SColorMode GetColorMode()
{
return m_eMode;
}
SColorPointer GetData()
{
return m_pData;
}
unsigned char *GetAlpha()
{
return m_pAlpha;
}
int WritePNMFile(wchar_t *wsFileName);
int WriteBMPFile(wchar_t *wsFileName);
int WriteJPGFile(wchar_t *wsFileName, wchar_t *wsTempFolder);
void GetPixel(int nX, int nY, SColorPointer pPixel);
unsigned char GetAlpha(int nX, int nY);
private:
int m_nWidth; // Øèðèíà êàðòèíêè
int m_nHeight; // Âûñîòà êàðòèíêè
int m_nStride; // Êîëè÷åñòâî áàéò ìåæäó íà÷àëîì îäíîé ñòðîêè è íà÷àëîì ñëåäóþùåé,
// åñëè çíà÷åíèå îòðèöàòåëüíîå, çíà÷èò êàðòèíêà ïåðâåðíóòàÿ (flip)
SColorMode m_eMode; // Color mode
SColorPointer m_pData; // Óêàçàòåëü íà íà÷àëî äàííûõ êàðòèíêè
unsigned char *m_pAlpha; // Óêàçàòåëü íà íà÷àëî äàííûõ àëüôà êàíàëà(íå çàâèñèò îò flip)
friend class SImage;
};
#endif /* _SBITMAP_H */