as3 | Как экспортировать PNG с помощью Adobe AIR

#actionscript-3 #adobe #air #png #flash-cs5

#actionscript-3 #adobe #air #png #flash-cs5

Вопрос:

Я пытаюсь экспортировать прозрачные файлы 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. Также рекомендую вам использовать лучшую библиотеку кодирования: blooddy.by/en/crypto

Ответ №1:

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

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

Комментарии:

1. Вы можете установить параметр color равным 0 . Цвет будет прозрачно-черным , затем