透明度が有効になっている 2 つの BitmapData オブジェクトがあります。1 つは大きな赤い四角で、もう 1 つは小さな青い円です。
たとえば、青い円を赤い正方形の上に配置するとします。ぼかし円がある赤い四角の 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);
}
}
}
編集 - 考えられる解決策が 1 つありますが、理想的ではありません。2 つのビットマップを結合し、threshold
メソッドを使用して特定の値を超えるピクセルを透明にします。したがって、すべての青いピクセルを透明に設定できます。ただし、透明領域の周りに薄い青色のリングが表示されます