关于图片透明效果的实现

画图函数有两个bitblt和bitbltTransparent,这两个函数都可以实现透明效果,不同的是第一个透明效果需要做在图片当中,第二个是需要事先设定一个透明色,然后才能实现透明效果。

第一种方法
透明效果是由图片来决定的,也就是通常说的双通道,它可以用来实现透明和半透(比例可以选择),其实是在图片的属性当中是有一个半透效果的属性,它是一个比例,用来决定背景透的比例,如果是100%,则是全部覆盖,如果是0,则是全部透过,也就是画了和没画一样。在画图的时候根据这个值来设定最终显示的图形透明效果。这个属性还可以指明半透效果的范围,可以使用PS来做,这样可以设定某些区域是半透,而某些区域是不透。
优点:可以实现成为各种效果
缺点:需要UI Spec组来做


第二种方法
它是通过设定图片透明色,来设定图片的透明的,原理是事先设定一个透明色,然后调用函数来画图,因为画图是一个像素一个像素来画的,所以它会将每个像素色和这个透明色进行比较,如果相同,则不画到画板上去,如果不同则画上去,从而实现透明效果。
有点:程序员可以自己动手实现透明效果,简单易行
缺点:只能实现全透,不能实现那种半透的效果

你可能感兴趣的:(UI,图形)