wceui
     
    首页  >>  使用WceUi  >>  WceUi界面库对透明图片的支持

WceUi界面库对透明图片的支持-PNG透明,32位位图透明,565位图透明

    本文首先介绍通用的透明图片在软件上的处理方式, 然后介绍WceUi界面库支持的透明位图
    在这里下载示例
 

1.什么是透明图片,透明图片有什么用

    透明图片是指每个点都有透明通道(Alpha 通道)的图片.
    使用关键色图片也可以实现类似的透明功能,如果您对有关键色的位图不太熟悉,请参考微软的标准API(TransparentBlt),但使用关键色有很多局限性,比如说,不能消除锯齿,不能实现整个图半透明效果.
    使用透明图片可以很好的消除锯齿,并实现出漂亮的效果.
    
    流行的画图软件都支持Alpha通道:
    在PhotoShop中的Alpha通道的支持如下图示:
 
    Fireworks中默认格式就是PNG图片,选择画布为透明,就可以实现透明效果了
  firework
 

1.PNG透明

   PNG是支持Alpha通道的,本示例中使用两张图片001.jpg和002.png,001.jpg是一张jpg图片,没有Alpha通道,002.png是一张png图片,有Alpha通道,我们需要把002.png显示在001.jpg上,这样您可以看到Alpha通道的效果.
  001.jpg 002.png Firefox中显示在一起的效果图
    view
   在上面的图中,您可以看到透明图片实现出来的效果非常好.
 

2.32位格式的BMP透明位图

  32位的BMP位图的原理和PNG是一样的,只是格式不一样,BMP是原始格式.
  BMP位图有很多种格式,但只有32位的位图才支持Alpha通道,也就是一个点用4个BYTE表示,RGBA,R-Red,G-Green,B-Blue,A-Alpha
  使用BMP格式的优势在于不用解码,直接就可以使用,而PNG是需要解码的.在Windows CE环境下,CPU资源和PC上相差很多,用原始格式可以省CPU的时间,加速界面显示.
  您可以使用IconWorkshop这个软件轻松的把PNG图片转成bmp图片,并用保留Alpha通道的信息.
 

3.WceUi界面库对透明图片的支持

  WceUi界面库完全支持透明图片的显示,并且不需要微软的AlphaBlend的支持,因为WceUi界面库的混和算是自己实现的.混和算法效率非常高,采用汇编语言实现(在telechips 78平台 , 200M CPU上,混和480x272的图片只需要20ms,而微软的AlphaBlend需要160ms).
  WceUi界面库同时支持32位和565格式的透明位图(微软的AlphaBlend不支持565格式的位图透明)显示,您需要使用工具WceUiBmpConverter.exe把位图转换成WceUi界面库需要的格式.
  WceUi界面库使用的是BMP透明位图,使用BMP透明位图的好处在于不需要解码,节省CPU时间,不好这处在于使用BMP位图文件比较大,但WceUi界面库可以把所有的资源(包括图片资源)加密打包压缩,这样就解决了BMP文件太大的问题.
 
  在这里下载示例(在PC上运行的是32位的透明位图,在WinCE设备上运行的则是565格式的透明位图)







         许辉             
WceUi Team          
2010-02-07          
 
 
首页 产品 下载 购买 博客 支持 关于我们
 
CopyRight©WceUi Team 2008-2009
粤ICP备09050101号 | 联系我们