关于CMFCToolBarImages图标透明解决方法分享
来源:互联网 发布:如何安装网络电视 编辑:程序博客网 时间:2024/04/30 01:18
前端时候的问题一直留着没解决,最近面瘫,工作无法顺利进行下去。便来研究了一下CMFCToolBarImages图标透明的问题。
好的,废话不说,直切主题。
我们通过CMFCToolBarImages动态加载图片一般有1、句柄(HBITMAP)。2、ICON
我讨论的只是限于 用句柄的方式解决。 icon的动态加载暂时还没研究。
首先说一下图片所需图片的格式,我用了32位的png格式(貌似png本来就是32位 :)),和32位的bmp。
PS:此BMP非彼BMP,这是在24位bmp的基础上加上8位alpha透明色的bmp(alpha透明色我默认为黑色),貌似之前做游戏贴图这方法用的挺多。当然要加载24位bmp的可以通过自己写格式转换类。在3位后面手动添加alpha透明色来实现24位bmp的透明。
加载:
通过Cimage load一个png, 一般我们认为这样就好了,但是png有一些小小bug,具体可参照:
http://blog.csdn.net/majiangtao888/article/details/6676611
通过转换函数
for(int i = 0; i < m_stImage.GetWidth(); ++i)
{
for(int j = 0; j < m_stImage.GetHeight(); ++j
{
unsigned char* pucColor = m_stImage.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_stImage 为CMFCToolBarImages类型。
得到我们所正确的png格式.
之后用只需要添加一行代码,这确实很多朋友包括我一直所琢磨的。
m_stImage.ConvertTo32Bits();
以上就是基本加载方法。
另外我顺便说一下普通Cimages 图片的透明,
在Cimages load 之后
for(int i = 0; i < m_stImage.GetWidth(); ++i)
{
for(int j = 0; j < m_stImage.GetHeight(); ++j
{
unsigned char* pucColor = m_stImage.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_stImage.Add(CBitMap*, RGB(0,0,0));
解决
好的,废话不说,直切主题。
我们通过CMFCToolBarImages动态加载图片一般有1、句柄(HBITMAP)。2、ICON
我讨论的只是限于 用句柄的方式解决。 icon的动态加载暂时还没研究。
首先说一下图片所需图片的格式,我用了32位的png格式(貌似png本来就是32位 :)),和32位的bmp。
加载:
通过Cimage load一个png, 一般我们认为这样就好了,但是png有一些小小bug,具体可参照:
http://blog.csdn.net/majiangtao888/article/details/6676611
通过转换函数
注:m_stImage 为CMFCToolBarImages类型。
得到我们所正确的png格式.
之后用只需要添加一行代码,这确实很多朋友包括我一直所琢磨的。
m_stImage.ConvertTo32Bits();
以上就是基本加载方法。
另外我顺便说一下普通Cimages 图片的透明,
在Cimages load 之后
转化格式。
然后 通过
解决
- 关于CMFCToolBarImages图标透明解决方法分享
- 分享WIN7输入法图标不显示的几种解决方法
- 制作透明小图标
- 透明背景图标制作
- 工具栏图标透明方案
- MFC透明图标
- 透明ico图标制作方法
- Echart图标透明渐变
- 关于微信朋友圈分享链接图标问题记录
- 关于透明
- 关于E17 CVS0926版本中图标混乱的解决方法
- 关于myeclipse项目图标警告消除的几个解决方法
- iOS发布应用透明图标转非透明图标
- 关于Android app的launcher图标更换后,仍然显示默认的ic_launcher图标的解决方法
- 关于Android app的launcher图标更换后,仍然显示默认的ic_launcher图标的解决方法
- 如何使图标背景透明
- 工具栏图标背景透明化
- 制作ICO格式透明图标
- 以ThreadStart方式实现多线程
- 经典算法题每日演练——第一题 百钱买百鸡
- MyEclipse 生成Hibernate映射文件和实体类注意事项
- Ogre_初学指导_2_"场景绘制"
- 风尘中,忘了捡拾那日女子留下的胭脂
- 关于CMFCToolBarImages图标透明解决方法分享
- 随机生成长度为20个字符的软件安装序列号
- Photoshop菜鸟实用入门 --- 工具箱简介
- 两分钟彻底让你明白Android Activity生命周期(图文)!
- JMS&MQ系列之简单示例
- Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)
- Flex使用cookie
- assert用法总结
- java网络编程(一)