copyPixels
大きなビットマップの一部を小さなビットマップにコピーして、個々のMovieClipsに使用しています。ただし、ビットマップのエッジの周りには、まだ余分なスペースの空白とコーナーが残っています。これらの見苦しいエッジが表示されないように、ビットマップの白を透明に設定するにはどうすればよいですか?
5215 次
2 に答える
4
BitmapData.thresholdメソッドを使用できます。このコードは、青い背景に赤い正方形のBitmapDataを作成し、thresholdメソッドを使用して赤いピクセルを透明にします。
var inputBitmapData:BitmapData = new BitmapData(200, 200, true, 0xFF0000FF);
inputBitmapData.fillRect(new Rectangle(10, 10, 180, 180), 0xFFFF0000);
var outputBitmapData:BitmapData = new BitmapData(200, 200, true);
var destPoint:Point = new Point(0, 0);
var sourceRect:Rectangle = new Rectangle(0, 0, outputBitmapData.width, outputBitmapData.height);
var threshold:uint = 0xFFFF0000;
var color:uint = 0x00000000;
outputBitmapData.threshold(inputBitmapData, sourceRect, destPoint, "==", threshold, color, 0xFFFFFFFF, true);
var input:Bitmap = new Bitmap(inputBitmapData);
addChild(input);
var output:Bitmap = new Bitmap(outputBitmapData);
output.x = input.x + input.width + 10;
addChild(output);
于 2011-03-21T19:41:27.607 に答える
0
あなたはそこで色を調整するためにBitmapData.colorTransform()
またはdraw()
代わりに使うことができますcopyPixels()
于 2011-03-21T18:57:59.107 に答える