006--VS2013 C++ 加载其他格式图片,并显示半透明化

 

 


//--------------------------------------------MyPaint() 函数---------------------------------------------------
//绘制图形
//-------------------------------------------------------------------------------------------------------------
void MyPaint(HDC hdc)
{
CImage m_Image;
// 获取CImage支持的图像文件的过滤字符串
/*hResult = m_Image.GetExporterFilterString(strFilter, aguidFileTypes,
_T("All Image Files"));*/
//释放CImage对象
m_Image.Destroy();
// 将外部图像文件装载到CImage对象中
m_Image.Load("1.jpg");
m_Image.Draw(hdc, 0, 0);

m_Image.Destroy();
m_Image.Load("1.png");
m_Image.Draw(hdc, 100, 50);

//PNG透明显示的方法
m_Image.Destroy();
m_Image.Load("3.png");
m_Image.TransparentBlt(hdc, 200, 300, m_Image.GetWidth(), m_Image.GetHeight(), RGB(255, 255, 255));

//PNG半透明显示(前提是图片也是半透明的)
m_Image.Destroy();
m_Image.Load("4.png");
for (int i = 0; i < m_Image.GetWidth(); ++i)
{
for (int j = 0; j < m_Image.GetHeight(); ++j)
{
unsigned char* pucColor = (UCHAR*)m_Image.GetPixelAddress(i, j);
pucColor[0] = pucColor[0] * pucColor[3] / 255;
pucColor[1] = pucColor[1] * pucColor[3] / 255;
pucColor[2] = pucColor[2] * pucColor[3] / 255;
}
}
m_Image.AlphaBlend(hdc, 300, 300);

}

 

如需整体运行框架,请点击: 游戏框架

游戏开发的梦想

梦开始的地方

转载于:https://www.cnblogs.com/zishen/p/4985001.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值