在Windows Mobile 显示透明 PNG的方法
同样在移植的过程中,发现 .Net compact Framework 不支持透明图像。原本具有透明属性的Png (含有 alpha通道),通过 Graphics.DrawImage 显示之后,不再具有透明特性。这对于地图分层显示带了麻烦。举例来说。带地名卫星地图一般是由两层图片叠加而成。
两个图片叠加形成最后的图片
当由于.Net Compact Framework缺省不支持透明图像,两幅图叠加是 道路图回彻底覆盖掉下面的卫星图。原来的透明色变成白色。 同样如果再有其它图层(比如路径),又覆盖掉道路图。
经过Google 搜索,有两种方法可以实现在Windows mobile 上透明图像的显示。
是通过IImagingFactory 接口
调用方法如下
文档可参考 http://msdn.microsoft.com/en-us/library/aa452202.aspx
另外一种方法还是采用Manged code, 对于预先知道透明色值的图像,比如地图API中的路径,背景色总为0xFFE0E0E0
可以使用下面方法
最终结果如下图
posted on 2012-05-27 14:07 Hibernate4 阅读(321) 评论(0) 编辑 收藏 举报