⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 image.h

📁 面向软件工程的Visual C++网络程序开发
💻 H
字号:
// ===== Image.h =======
#ifndef IMAGE_H
#define IMAGE_H


#include "Dib.h"

#define CI_IMAGE		0
#define CI_GRAPH		1

#define SHOW_IMAGE		0
#define SHOW_GRAPH		1
#define SHOW_ADD		2


class AFX_EXT_CLASS CImage {
public:
	CDib*	m_pDib;
	CDib*	m_pMask;
private:
	int		m_nWidth;
	int		m_nHeight;
	int		m_nShowBank;
	CRect	m_rcImage;

	RGBQUAD m_GraphPal[2];
public:
	CImage();
	~CImage();

	BOOL CreateDefImage(int nWidth, int nHeight );

	BOOL Load(LPCTSTR lpszFile);
	BOOL Save(LPCTSTR lpszFile);
	BOOL LoadGraph(LPCTSTR lpszFile);
	BOOL SaveGraph(LPCTSTR lpszFile);
	void Serialize(CArchive& ar);

	BOOL GetImage(CRect& rc, IMAGE& img, int nBank = 0);
	BOOL GetImage(CRect& rc, IMAGE& imgR, IMAGE& imgG, IMAGE& imgB) ;
	BOOL PutImage(CRect& rc, IMAGE& img, int nBank = 0);
	BOOL PutImage(CRect& rc, IMAGE& imgR, IMAGE& imgG, IMAGE& imgB) ;
//	BOOL GetImage(CRect& rc, COLORIMAGE& ci);
//	BOOL PutImage(CRect& rc, COLORIMAGE& ci);

	BOOL Draw(CDC* pDC, int nBank = 0);

	CDib* GetImagePtr();
	CDib* GetGraphPtr();
	int  GetWidth();
	int  GetHeight();
	void GetRect(CRect& rcImage);
	void SetRect(CRect& rcImage);
	int	 GetShowBank();
	void SetShowBank(int nBank = 0);
	BOOL IsEmpty();

	//图形层调色板操作
	CPalette* GetImagePalette();
	CPalette* GetGraphPalette();
	BOOL GetGraphPalette(int i, RGBQUAD& rgb);
	BOOL GetGraphPalette(int i, RGBQUAD* rgb);
	BOOL SetGraphPalette(int i, RGBQUAD& rgb);
	BOOL SetGraphPalette(int i, RGBQUAD* rgb);
public:
	BOOL Undo(int nBank);
private:
	BOOL UpdateGraphPalette();

};

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -