Удалить цвет из растрового изображения? - PullRequest
0 голосов
/ 27 августа 2009

Я пытаюсь удалить цвет из импортированного изображения (JPG) во Flash CS4 с AS2.

У меня при запуске загружена куча изображений JPG, которые содержат цвет (ярко-зеленый 0,255,0), который я хочу удалить, чтобы видеть сквозь.

JPG не поддерживает альфа, и я не думаю, что flash добавляет альфа-слой к загруженному файлу?

Если загруженное изображение имеет альфа-слой, я могу установить альфа на 0 для каждого пикселя, но я не знаю, как поступить ...

Кто-нибудь знает как? или просто если это возможно? или есть идеи как этого добиться?

Большое спасибо

1 Ответ

1 голос
/ 28 августа 2009

Что вам нужно сделать, это загрузить данные в объект BitmapData. Вы делаете это так:

var bitmapData:BitmapData = new BitmapData(image._width, image._height, true);
bitmapData.draw(image);

Тогда вам нужно использовать пороговый метод, чтобы заменить зеленый на другой цвет. Это очень мощный метод, хотя его немного сложно использовать.

bitmapData = bitmapData.threshold(bitmapData, new Rectangle(0, 0, image._width, image._height), new Point(0, 0), "==", 0x00CCCCCC, 0x000000FF, 0x00FF0000, false);

Наконец, вы раскрасите BitmapData в объект Bitmap, который вы хотите отобразить.

...