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

📄 image.h

📁 这是树上的代码
💻 H
字号:
// Image.h: interface for the CImage class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_IMAGE_H__9B31145D_E951_4543_B2B0_C646CEAFDF61__INCLUDED_)
#define AFX_IMAGE_H__9B31145D_E951_4543_B2B0_C646CEAFDF61__INCLUDED_

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

#include <vfw.h>
#include <Afxtempl.h>
#include <vector>
#include <algorithm>
using namespace std;

//定义MarkMap 结构,用来存放等价对
typedef struct tagEqualMark
{	int MarkValue1;    //标记值1
	int MarkValue2;    //标记值2
} EqualMark;

//定义MarkMap 结构,用来存放标记映射关系
typedef struct tagMarkMapping
{	int nOriginalMark;   //第一次扫描的标记
	int nMappingMark;  //等价整理之后对应标记
} MarkMapping;


class CImage  
{
public:
	long Save8BitBMPFile(HANDLE hDIB, LPCTSTR strFileName);
	long Show256DIB_vfw(HDC hdc, HANDLE hDIB, int nXDest , int nYDest );
	HANDLE CreateShowMarkHandle();
	HANDLE Create256DIB(LPBYTE lp8BitImageData);
	void Clear();
	long ShowBmpFile( HDC hdc , int nXDest=0 , int nYDest=0 );
	long ReadBMPFile(LPCTSTR strFileName);
	long MarkImage ( BYTE bObjectGray );
	CImage();
	virtual ~CImage();

	template<typename elemType> void AttachEqualMark(EqualMark &pEqualMark, 
							  elemType num1, elemType num2, int & pEqualNum, CList< EqualMark,EqualMark > & plEqualMark);

	LPBYTE m_lpBMPFileData;
	BITMAPINFOHEADER m_BmpInfoHeader;

	long m_lngWidth;            //图像宽
	long m_lngWidthBytes;       //图像宽所占字节数 
	long m_lngHeight;           //图象高
	long m_ulngBitsCount;       //图像数据所占bit数
	LPBYTE m_lpImgBits;       //图像数据区域指针
	LPBYTE m_lpImgBitsMove;

	int * m_lpnMark;            //标记数组指针
	int * m_lpnMarkMove;       //标记数组移动指针
	int m_nMarkNumbers;       //标记的区域个数

	//以下为显示所用
	LPBYTE m_lpShowMark;


};

#endif // !defined(AFX_IMAGE_H__9B31145D_E951_4543_B2B0_C646CEAFDF61__INCLUDED_)

⌨️ 快捷键说明

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