📄 dib.h
字号:
// DIB.h: interface for the CDIB class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_DIB_H__E2798D01_5370_4977_B88C_6C812B93B394__INCLUDED_)
#define AFX_DIB_H__E2798D01_5370_4977_B88C_6C812B93B394__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define DIB_HEADER_MARKER ((WORD)('M'<<8)|'B') //bfType="BM"
#define IS_WIN30_DIB(lpbi) (*(LPDWORD)lpbi==sizeof(BITMAPINFOHEADER))
#define PALVERSION 0x300
//计算矩形区域的宽度
#define RECTWIDTH(lpRect) ((lpRect)->right-(lpRect)->left)
//计算矩形区域的高度
#define RECTHEIGHT(lpRect) ((lpRect)->bottom-(lpRect)->top)
////计算图像实际的宽度,以字节计算,输入:位
#define WIDTHBYTES(bits) (((bits)+31)/32*4)
DECLARE_HANDLE(HDIB); //声明HDIB句柄
class CDIB
{
public:
BOOL SaveDIB(HDIB hDib,CFile& file);
BOOL SaveDIB(LPCTSTR lpszPathName);
CDIB(CDIB* pDIB,int _left,int _top,int _right,int _bottom);
CDIB(CDIB* pDIB,int mywidth,int myheight);
CSize GetDIBSize();
WORD PaletteSize(LPSTR lpbi);
LPSTR FindDIBBits(LPSTR lpbi);
BOOL PaintDIB(HDC hDC,LPRECT lpDCRect);
HDIB GetHDIB() const;
BOOL CreateDIBPalette(HDIB hDIB,CPalette *cPal);
WORD NumColors(LPSTR lpbi);
CSize GetDIBSize(LPSTR lpDIB);
HDIB CreateDIB(LPCTSTR lpPathName);
HDIB ReadDIBFile(CFile& file);
CDIB(LPCTSTR lpPathName);
CDIB();
virtual ~CDIB();
BOOL InteEqualize(LPSTR lpDIBBits, LONG lWidth, LONG lHeight);
private:
HDIB m_hDIB;//DIB图像句柄
CPalette* m_pPal; //主要用于显示图像
CSize m_sizeDIB;//DIB图像的尺寸(长×宽,像素)
public:
void SetEmpty();
};
#endif // !defined(AFX_DIB_H__E2798D01_5370_4977_B88C_6C812B93B394__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -