【发布时间】:2013-08-13 20:00:15
【问题描述】:
我有两个启用了透明度的 BitmapData 对象。一个是红色的大方块,另一个是蓝色的小圆圈。
例如,如果我将蓝色圆圈放在红色方块上。我想在模糊圆圈所在的红色方块的 BitmapData 中创建一个透明区域。类似于面具的工作原理。
我尝试过使用 getPixel32() 操作,但速度很慢(见下文)。还有其他方法可以做到这一点吗?谢谢
for(var x:int = 0; x < circleBitmapData.width; x++){
for(var y:int = 0; y < circleBitmapData.width; y++){
if(circleBitmapData.getPixel32(x,y) != 0x00000000){
squareBitmapData.setPixel(x,y,0x00000000);
}
}
}
编辑 - 我有一个可能的解决方案,但它并不理想。我可以合并两个位图,然后使用threshold 方法将高于某个值的像素变为透明。所以我可以将所有蓝色像素设置为透明。但是,我在透明区域周围看到了一个蓝色的细环
【问题讨论】:
-
为什么不能戴口罩?
-
因为我在做 blitting
标签: actionscript-3 actionscript bitmapdata