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

📄 image.h

📁 刚上传内容的相关CODEC不能单独上传。于是
💻 H
字号:
// Image.h: interface for the CImage class.
//
// Class Name	: CImage
// Author		: Minseok Choi, Hanyang Univ. Image Engineering Lab.
// Date			: 2000. 12. 10
//		1. 扁夯 Image Class Version 3.0
//		2. BMP 器镐 佬扁
//		3. BMP 器镐 历厘
//		4. Gray to True Color, True Color to Gray, Indexed Color to Gray 函券
//		
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_IMAGE_H__001801CF_86A2_44A2_8DE6_C64D21DE597D__INCLUDED_)
#define AFX_IMAGE_H__001801CF_86A2_44A2_8DE6_C64D21DE597D__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define	INDEXED	8
#define	TRUERGB	24

#define BMP		1

class CColorPixel;
class CBmpCoder;
class CImageColor;
class CImageAdjust;
class CImageGeometry;
class CImageClipboard;
class CVideo;

class CImage  
{

	friend CBmpCoder;
	friend CImageClipboard;
	friend CVideo;
		
public:
	// 扁夯 积己磊
	CImage();
	// 颇老俊辑 凯搁辑 积己
	CImage( LPCTSTR lpszPathname );
	// 货肺款 捞固瘤甫 父甸搁辑 积己
	CImage( CSize size, int mode, int ivalue = 255 );
	// 扁粮 捞固瘤甫 汗荤秦辑 积己
	CImage( CImage* pImage );
	// 家戈磊
	~CImage();

	// 措涝 楷魂磊 坷滚肺靛
	void	operator = ( CImage& Image );

	// 捞固瘤甫 拳搁俊 弊府绰 窃荐
	void	Paint( CDC* pDC, int mode = SRCCOPY );	
	// 捞固瘤甫 拳搁俊 弊府绰 窃荐, des : 拳搁惑俊 免仿瞪 困摹
	void	Paint( CDC* pDC, CPoint des, int mode = SRCCOPY );
	// 捞固瘤甫 拳搁俊 弊府绰 窃荐, dessize : 拳搁俊 免仿瞪 农扁
	void	Paint( CDC* pDC, CSize dessize, int mode = SRCCOPY ); 
	// 捞固瘤甫 拳搁俊 弊府绰 窃荐, des : 拳搁惑俊 免仿瞪 困摹, dessize : 拳搁俊 免仿瞪 农扁
	void	Paint( CDC* pDC, CPoint des, CSize dessize, int mode = SRCCOPY );
	// 捞固瘤甫 拳搁俊 弊府绰 窃荐, des : 拳搁惑俊 免仿瞪 困摹, dessize : 拳搁俊 免仿瞪 农扁
	//								src : 盔夯 捞固瘤俊辑 免仿 矫累且 困摹
	void	Paint( CDC* pDC, CPoint des, CSize dessize, CPoint src, int mode = SRCCOPY );
	// 捞固瘤甫 拳搁俊 弊府绰 窃荐, des : 拳搁惑俊 免仿瞪 困摹, dessize : 拳搁俊 免仿瞪 农扁
	//								src : 盔夯 捞固瘤俊辑 免仿 矫累且 困摹, srcsize : 盔夯狼 免仿且 农扁
	void	Paint( CDC* pDC, CPoint des, CSize dessize, CPoint src, CSize srcsize, int mode = SRCCOPY );
	
	// 颇老肺 何磐 佬绢 佬绢坷绰 窃荐
	BOOL	LoadImage( LPCTSTR lpszPathname );
	// 颇老俊 历厘窍绰 窃荐
	BOOL	SaveImage( LPCTSTR lpszPathname );

	// 捞固瘤 蜡瓤己 八荤
	BOOL	IsValidate(){ return m_bValidate; }
	// 捞固瘤狼 pixel 器镐 馆券, 8 : 8bit/pixel, 24 : 24bit/pixel
	int		GetColorMode(){ return m_nColorMode; }
	// 捞固瘤狼 农扁甫 馆券
	CSize	GetImageSize();
	// 捞固瘤狼 承捞甫 馆券
	int		GetXSize();
	// 捞固瘤狼 臭捞甫 馆券
	int		GetYSize();	
	// 捞固瘤啊 gray-scale 捞固瘤牢瘤 八荤
	BOOL	IsGray();

	// gray-scale 捞固瘤 单捞磐甫 促风扁 困茄 2瞒盔 器牢磐 馆券
	BYTE**			GetPtr();
	// 拿矾 捞固瘤 单捞磐甫 促风扁 困茄 2瞒盔 器牢磐 馆券
	CColorPixel**	GetColorPtr();

	// 迫饭飘狼 器牢磐 馆券
	RGBQUAD* GetPalPtr();
	// 迫饭飘甫 汗荤
	BOOL	CopyPalette( CImage* pImage );
	// 迫饭飘甫 诀单捞飘
	BOOL	UpdatePalette();

	// DIB 单捞磐狼 矫累 锅瘤甫 馆券
	BYTE*	GetDataPtr(){ return m_pDib; }
	
	// 货肺款 捞固瘤甫 积己( size : 捞固瘤 农扁, mode : pixel format 8 or 24, ivalue : 檬扁蔼
	BOOL	CreateImage( CSize size, int mode, int ivalue = 255 );
	// 捞固瘤甫 昏力
	void	DeleteImage();
	// 单捞磐 立辟阑 困茄 2瞒盔 器牢磐 且寸
	BOOL	AllocPtr();
	// 2瞒盔 器牢磐 昏力
	void	FreePtr();
	// 迫饭飘 积己
	BOOL	CreatePalette();
	// 捞固瘤 resize - 窜鉴窍霸 皋葛府 农扁父 resize 窃.
	BOOL	Resize( CSize size );

	
	BOOL		m_bValidate;	// 捞固瘤狼 蜡瓤己 八荤 历厘 函荐
	int			m_nImageType;	// 捞固瘤 鸥涝 : BMP
	int			m_nColorMode;	// pixel format : 8(INDEXED), 24(TRUERGB)
	int			m_nUsedColor;	// 荤侩救窃
	CSize		m_sizeImage;	// 捞固瘤 农扁
	DWORD		m_dwLineLen;	// 康惑 单捞磐狼 1扼牢 辨捞 (Byte 窜困)

	BYTE*		m_pBuf;			// 单捞磐 滚欺 器牢磐
	BYTE*		m_pDib;			// DIB 单捞磐 矫累 锅瘤
	BYTE**		m_PixelPtr;		// garyscale 单捞磐 立辟阑 困茄 2瞒盔 器牢磐
	CColorPixel**	m_ColorPtr;	// 拿矾 单捞磐 立辟阑 困茄 2瞒盔 器牢磐
	
	CPalette*	m_pPal;			// palette	

	CString		m_strError;		// 俊矾 皋技瘤 历厘
	CString		m_strPathname;	// 颇老 捞抚 历厘
	
};

#endif // !defined(AFX_IMAGE_H__001801CF_86A2_44A2_8DE6_C64D21DE597D__INCLUDED_)

⌨️ 快捷键说明

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