最近Flex项目中需要保存背景为透明的截图,需要用到PngEncoder类。
代码大概这样:
但是得到结果并不透明,于是怀疑encode方法没有包含Alpha通道。改为第二种方法:
结果仍然没有透明度信息!
于是仔细读了手册每一项找到如下一段话:
transparent:Boolean (default = true) — 指定位图图像是否支持每个像素具有不同的透明度。默认值为 true(透明)。若要创建完全透明的位图,请将 transparent 参数的值设置为 true,将 fillColor 参数的值设置为 0x00000000(或设置为 0)。将 transparent 属性设置为 false 可以略微提升呈现性能。
也就是说,transparent = true 还不行,fillColor还必须设置为 0x000000!!
其实这样设置挺说不通的,但是以后碰到问题还是要多看看手册了!
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛