as3 | Как экспортировать PNG с помощью Adobe AIR - PullRequest
6 голосов
/ 30 мая 2011

Я пытаюсь экспортировать прозрачные файлы PNG, используя этот класс: com.adobe.images.PNGEncoder;

var pngSource:BitmapData = new BitmapData (stage.stageWidth, stage.stageHeight);
pngSource.draw(stage);
var ba:ByteArray = PNGEncoder.encode(pngSource);
var file:File = File.desktopDirectory.resolvePath("test.png");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeBytes(ba);
fileStream.close();

Все работает нормально, кроме вопроса прозрачности ...

Если бы я мог сделать сценический цвет Flash прозрачным, он бы работал, но, к сожалению, такой опции нет.

Есть ли какие-то опции, которые мне не хватает?

1 Ответ

6 голосов
/ 30 мая 2011

Вам необходимо создать экземпляр BitmapData с прозрачным фоном.Это можно сделать с помощью прозрачного аргумента в конструкторе и цвета заливки с альфа-компонентом (ARGB в шестнадцатеричном формате):

var pngSource:BitmapData = new BitmapData (stage.stageWidth, stage.stageHeight,true,0x00FFFFFF);//'transparent white'
...