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

📄 cpixelrgb555.cpp

📁 简单的COM 实际例子 用法1
💻 CPP
字号:
//
// CPixelRGB555.cpp
//

#include "CBasePixel.h"
#include "CPixelRGB555.h"

//////////////////////////////////////////////////////////////////////
CPixelRGB555::CPixelRGB555()
{
}

CPixelRGB555::~CPixelRGB555()
{
}

void CPixelRGB555::ConvertByCover(unsigned char * inPixel)
{
	if (inPixel)
	{
		*inPixel = m_Mask[0];
		inPixel++;
		*inPixel = m_Mask[1];
	}
}

void CPixelRGB555::SideEffectColorChanged(void)
{
	CBasePixel::SideEffectColorChanged();

	const unsigned int bits555[] = {0x7C00, 0x03E0, 0x001F}; // RGB
	// Caculate the mask bits
	unsigned int  wMask, wTemp;
	wTemp  = unsigned int (m_TargetB / 256. * 32);
	wMask  = wTemp & bits555[2];
	wTemp  = unsigned int (m_TargetG / 256. * 32);
	wTemp  = wTemp << 5;
	wMask += wTemp & bits555[1];
	wTemp  = unsigned int (m_TargetR / 256. * 32);
	wTemp  = wTemp << 10;
	wMask += wTemp & bits555[0];
	// Store the high byte and low byte seperately
	m_Mask[0] = wMask & 0xff;
	wMask     = wMask >> 8;
	m_Mask[1] = wMask & 0xff;
}

⌨️ 快捷键说明

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