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

📄 imagebuffer.h

📁 通过使机器人进行简单的图像识别
💻 H
字号:
/********************************************************************
*
* =-----------------------------------------------------------------=
* =                          ____          _________                =
* =                         / _  \         \___  __/                =
* =                        / /_/ /     ____   / /                   =
* =                       /  _   \ ● / _  \ / /                    =
* =                      /  /_/  // // / / // /                     =
* =                      \______//_//_/ /_//_/                      =
* =                                                                 =
* =             Copyright (c) BIN Technology studio,2004            =
* =                           LET'Z BT                              =
* =-----------------------------------------------------------------=
*
*	FileName	: ImageBuffer.h
*	Description	: 位图缓冲区
*
*	Author		: 风间苍月(TuQbasic)
*	Email		: tuqbasic@sohu.com
*
*	Create		: 2004.04.09
*	LastChange	: 2004.05.03
*
*	History		: 
********************************************************************/ 

#pragma once

// 图像缓冲区模板,扫描线按字对齐
template <typename _T>
class CImageBuffer
{
public:
	CImageBuffer(unsigned int width, unsigned int height)
		: m_width(width)
		, m_height(height)
		, m_lPitch(0)
		, m_pBuf(NULL)
		, m_pScanLine(NULL)
	{
		m_lPitch= m_width * sizeof(_T);
		if (m_lPitch % 4)
			m_lPitch= m_lPitch + 4 - m_lPitch % 4;
		m_pBuf= reinterpret_cast<_T *>(new unsigned char[m_lPitch * m_height]);

		// 设置扫描线地址
		m_pScanLine= reinterpret_cast<_T **>(new void *[m_height]);
		unsigned char *pc= reinterpret_cast<unsigned char *>(m_pBuf);
		for (unsigned int i= 0; i < m_height; i++)
		{
			m_pScanLine[i]= reinterpret_cast<_T *>(pc);
			pc+= m_lPitch;
		}
	}

	~CImageBuffer(void)
	{
		delete[] m_pScanLine;
		delete[] m_pBuf;
	}

	unsigned int m_width;
	unsigned int m_height;
	unsigned int m_lPitch;		// 扫描线间距
	_T *m_pBuf;					// 连续的缓冲区
	_T **m_pScanLine;			// 每条扫描线的地址
protected:
	CImageBuffer(const CImageBuffer<_T>& r) {};
	CImageBuffer<_T>& operator= (const CImageBuffer<_T>& r) {};
};

⌨️ 快捷键说明

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