烦人的GDI+bug(icon转bitmap居然丢失alpha通道)
2009-11-06 15:41
525 查看
昨天做一个新功能,获取桌面的图标并在自己的窗口上显示。开始做了一个demo,wtl的gdi实现的界面一切顺利,但换到gdi+的工程里面的时候,在绘制icon的时候遇到了麻烦,图标显示直接把alpha通道给丢失了,图标出现了好多黑色的阴影。
网上搜索了半天,发现很多人都遇到了这个问题Bitmap::FromHICON转化之后造成的icon的alpha通道丢失了,这种情况出现很多是绘制imagelist里面的item。网上有人提到是“问题在bitmap=Gdiplus::Bitmap::FromHICON(rInfo.hIcon); ,在这里对alpha的处理有问题,再转换成Format32bppArgb格式的就可以了。”,很遗憾转换完成之后还是老样子,猜想FromHICON已经把数据丢失了,再转似乎也不会有什么意义了,不知道是不是还有其他的转换方式。网上又搜了半天,老外也提到了一些解决办法,基本上都是围绕Format32bppArgb的方案,尝试之后还是没有效果。
最终,不得已之下,只好在绘制icon的时候换成gdi了。
网上搜索了半天,发现很多人都遇到了这个问题Bitmap::FromHICON转化之后造成的icon的alpha通道丢失了,这种情况出现很多是绘制imagelist里面的item。网上有人提到是“问题在bitmap=Gdiplus::Bitmap::FromHICON(rInfo.hIcon); ,在这里对alpha的处理有问题,再转换成Format32bppArgb格式的就可以了。”,很遗憾转换完成之后还是老样子,猜想FromHICON已经把数据丢失了,再转似乎也不会有什么意义了,不知道是不是还有其他的转换方式。网上又搜了半天,老外也提到了一些解决办法,基本上都是围绕Format32bppArgb的方案,尝试之后还是没有效果。
最终,不得已之下,只好在绘制icon的时候换成gdi了。
相关文章推荐
- BitmapDrawable设置alpha时的一个BUG
- 使用GDI+保存带Alpha通道的图像(续)
- Android Bitmap当ARGB格式的Alpha通道为0时,RGB值都为0
- 【bug】plug in convert icon to bitmap
- 使用GDI+保存带Alpha通道的图像
- ImageList半透明,Alpha通道bug处理。
- (转)unity中基于alpha通道的shadow volume实现
- Android中常用的位图操作(View与Bitmap转化、圆角、灰化、提取Alpha、旋转、倒影、剪切……)
- NGUI 贴图分离Alpha通道
- IE6 IE7 丢失cookie的bug!
- OpenCV IplImage和GDI+ Bitmap的相互转换
- (转)【D3D11游戏编程】学习笔记十六:Alpha通道(Alpha Channel)
- CSDN博客的bug多多 & 丢失文章招领启事
- android.graphics.Bitmap.Config<ALPHA_8, ARGB_4444,ARGB_8888,RGB_565>
- Alpha通道的概念与功能
- 新ITC提交APP常见问题与解决方法(Icon Alpha,Build version,AppIcon120x120)(2014-11-17)
- 使用IconWorkshop制作带alpha通道的位图
- Android Api Demos登顶之路(六十五)Graphics-->AlphaBitmap
- 【有意思的BUG】浏览器的Title和Icon
- ACE的logmanager居然有BUG(2006.3.9)