📄 iedib.h
字号:
// IEDib.h: interface for the IEDib class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(_IEDIB_H_)
#define _IEDIB_H_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#pragma pack( push )
#pragma pack( 1 )
#ifndef RGBBYTE_TYPE
#define RGBBYTE_TYPE
typedef struct tagRGBBYTE
{
BYTE b;
BYTE g;
BYTE r;
} RGBBYTE;
#endif
#pragma pack( pop )
#define limit(a) ( (a > 255) ? 255 : ( (a < 0) ? 0 : a ) )
#define limit2(a, b) ( (a > b) ? b : ( (a < 0) ? 0 : a ) )
//class IEByteImage;
class IEDib
{
public:
// 积己磊客 家戈磊
IEDib();
~IEDib();
/******************************************************
糕滚 函荐
******************************************************/
public:
// 拳搁 免仿 窃荐
void Draw(HDC hDC);
void Draw(HDC hDC, int dx, int dy);
void Draw(HDC hDC, int dx, int dy, int dw, int dh, DWORD dwRop = SRCCOPY);
// 颇老 积己 棺 涝免仿 窃荐
BOOL CreateGrayImage(int nWidth, int nHeight, BYTE value = 255);
BOOL CreateRGBImage(int nWidth, int nHeight, COLORREF value = 0x00ffffff);
BOOL CopyImage(IEDib* pImage);
BOOL CopyImage(IEDib* pImage, CRect rect);
BOOL FromHandle(HANDLE hDib);
// BOOL FromImage(IEByteImage* pImage);
BOOL Load(LPCTSTR lpszFileName);
BOOL Save(LPCTSTR lpszFileName);
// 侨伎 器牢磐 贸府 窃荐
BYTE** GetPtr();
RGBBYTE** GetRGBPtr();
void FreePtr(BYTE** ptr);
void FreePtr(RGBBYTE** ptr);
// 捞固瘤 沥焊 馆券 窃荐
int GetHeight() { return m_nHeight; }
int GetWidth() { return m_nWidth; }
int GetBitCount() { return m_nBitCount; }
BOOL IsValid() { return (m_hDib != NULL); }
CPalette* GetPalette() { return m_pPal; }
HANDLE GetHandle() { return (HANDLE)m_hDib; }
int GetColorNums();
protected:
// 檬扁拳 殿阑 淬寸窍绰 郴何 窃荐
BOOL InitDib(LPSTR lpDib);
BOOL CreateDIBPalette(LPSTR lpDib);
LPSTR GetDibBitsAddr(LPSTR lpDib);
int SetSystemPalette(HDC hDC);
// 角力 颇老 佬绢坷扁
BOOL LoadBMP(LPCTSTR lpszFileName);
BOOL LoadJPG(LPCTSTR lpszFileName);
// BOOL LoadGIF(LPCTSTR lpszFileName);
// BOOL LoadTIF(LPCTSTR lpszFileName);
// 角力 颇老 历厘窍扁
BOOL SaveBMP(LPCTSTR lpszFileName);
BOOL SaveJPG(LPCTSTR lpszFileName);
// BOOL SaveGIF(LPCTSTR lpszFileName);
// BOOL SaveTIF(LPCTSTR lpszFileName);
/******************************************************
糕滚 函荐
******************************************************/
protected:
HGLOBAL m_hDib;
int m_nWidth;
int m_nHeight;
int m_nRWidth;
int m_nBitCount;
CPalette* m_pPal;
};
#endif // !defined(_IEDIB_H_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -