Я использую copyPixels
для копирования частей большего растрового изображения в более мелкие растровые изображения, чтобы использовать их для отдельных мувиклипов. Тем не менее, вокруг все еще есть лишнее пустое пространство и углы вокруг краев растровых изображений. Как сделать белый цвет в растровом изображении прозрачным, чтобы я не видел этих неприглядных краев?
Как сделать определенный цвет прозрачным?
Ответы (2)
Вы можете использовать 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);
person
Sean Fujiwara
schedule
21.03.2011
Эта функция выглядит очень гибкой. Попробую, спасибо за пример!
- person ; 22.03.2011
вы можете использовать BitmapData.colorTransform()
< /a> или draw()
вместо copyPixels()
для настройки цвета там
person
www0z0k
schedule
21.03.2011
Ах я вижу. Но как мне указать белый цвет, который равен 0xFFFFFF, чтобы он отображался как прозрачный? Я редактирую alphaOffset или alphaMultiplier?
- person ; 21.03.2011