📄 cdibimage.h
字号:
//
// CImage.h
//
//
// Dicription:
// Author :
// Date:
//
///////////////////////////////////////////////////
#ifndef AFX_CIMG_H_00001
#define AFX_CIMG_H_00001
#include <afxwin.h>
// 常数π
#define PI 3.1415926535
//角度到弧度转化的宏
#define RADIAN(angle) ((angle)*PI/180.0)
class CDibImage
{
public:
CDibImage();
virtual ~CDibImage();
// copy construct
CDibImage(CDibImage &CImg);
//
void ImgCpy( BYTE* pSourceBmp, DWORD dwHeight, DWORD dwWidth);
// +
void Add(BYTE* pDestImg, BYTE* pSourceImg);
// -
void Subtract(BYTE* pDestImg, BYTE* pSourceImg);
// *
void Multiply(BYTE* pDestImg, BYTE* pSourceImg);
// 卷积
//操作图像对象的函数
public:
// 根据lpFileName读取相应的位图文件
bool LoadBmp( LPCTSTR lpFileName);
//函数的存储
void SaveBmp( LPCTSTR lpFileName);
//
//显示已经读取的图像信息
void Draw2DC(CDC *dc);
//按照用户指定的度数旋转图像
void RotateAngle(double dAngle);
//按照给定的偏移大小移动图像
void Translation( DWORD dwXOffset, DWORD dwYOffset);
//图像镜像
void Mirror(bool bDrcHorV);
//获取指定范围内的像素
void GetImgRect( RECT& rectDest, BYTE*& pRect);
BYTE* GetImgRect( RECT& rectDest );
//恢复图像中像素所存储的位数
BYTE* GetBackBitbuf( BYTE*& pRenewData, DWORD dwRealWidth);
public:
//获取图像属性信息
//判断pBitbuf是否指向有效的缓冲区
bool IsBufferValid();
DWORD GetWidth();
DWORD GetHeight();
WORD GetBPP();
private:
//私有成员函数
void ImgCpy( BYTE*& pDestBmp, BYTE* pSourceBmp, DWORD dwHeight, DWORD dwWidth,WORD wbPP);
//图像的变量信息
private:
//图像的位数
WORD m_wBPP;
//图像缓冲区
BYTE* m_pBitbuf;
//位图的高
DWORD m_dwHeight;
//位图的宽
DWORD m_dwWidth;
};
#endif
// AFX_CIMG_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -