Knowledge Base Nr: 00068 ImgSupport.cpp - http://www.swe-kaiser.de

Downloads: C++-Klassen (ImageSupport)

MFC CImageSupport unterstützt BMP und JPG Grafikformat unter VC6.0

  
// das beispiel implementiert das alte dalli-klick spiel.
// bedienung: jpg-files in img-out folder kopieren (das programm
// kopiert sie nach der anzeige nach img-out um)
// space deckt das nächste feld auf - esc alle felder.
// ACHTUNG: MFC statisch linken!!!!

class CImageSupport
{
public:
CImageSupport();
virtual ~CImageSupport();

void Init();
void Free();

int Load(const char* lpszFilename);

int Resize(int nNewWidth, int nNewHeight);
int Zoom(int nNewX1, int nNewY1, int nNewX2, int nNewY2);
int Draw(HDC hdc, int nPosX, int nPosY, int nSizeX, int nSizeY, int nTargetPosX, int nTargetPosY);
int DrawTransparent(HDC hDC, int nPosX, int nPosY, COLORREF crTransparent);
int MakeThumbnail(int& nSizeX, int& nSizeY, int& nXoffset, int& nYoffset); //gibt offsets zum zentrieren zurück
int ShowThumbnail(CWnd* cWnd, const char* lpszFilename, COLORREF crefBackground = RGB(50, 50, 50));

int AddTimeStampXY(int nXpos, int nYpos);

int SaveJPG(const char* lpszFilename, int nQualityInPercent = 75, int nRotateInDegree = 0);
int GetSizeX() { return m_nWidth; }
int GetSizeY() { return m_nHeight; }

int SetBufferFromBMP(BYTE* pDIBBits, BITMAPINFOHEADER* pBMIH);
BYTE* GetRGBBuffer(int* pnWidth, int* pnHeight);

protected:
HGLOBAL m_pRGB;
unsigned int m_nWidth;
unsigned int m_nHeight;
unsigned int m_nBits;
};