Как мне установить определенный цвет, чтобы быть прозрачным? - PullRequest
1 голос
/ 21 марта 2011

Я использую copyPixels, чтобы скопировать части большего растрового изображения в меньшие растровые изображения, чтобы использовать их для отдельных фрагментов ролика. Тем не менее, вокруг все еще есть некоторое дополнительное пространство, а по краям растровых углов остаются углы. Как установить прозрачный белый цвет в растровом изображении, чтобы не видеть эти неприглядные края?

Ответы [ 2 ]

4 голосов
/ 21 марта 2011

Вы можете использовать метод BitmapData.threshold .Этот код создает BitmapData с красным квадратом на синем фоне, а затем использует метод порога, чтобы сделать красные пиксели прозрачными.

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);
0 голосов
/ 21 марта 2011

вы можете использовать BitmapData.colorTransform() или draw() вместо copyPixels() для настройки цвета

...