Отправить ByteArray на JavaScript - PullRequest
       18

Отправить ByteArray на JavaScript

9 голосов
/ 10 января 2010

Как отправить изображение jpg как ByteArray из as3 в javascript? А как конвертировать ByteArray в изображение в javascript?

Ответы [ 3 ]

4 голосов
/ 24 января 2012

Возьмите DisplayObject (Sprite / MovieClip / что угодно) и преобразуйте его в BitmapData:

myBitmapData.draw(mySprite);

Преобразовать это в PNG, используя Adobe AS3CoreLib

myByteArray = PNGEncoder.encode(myBitmapData);

Преобразование этого в Base64 с использованием Flex Base64Encoder :

myBase64Encoder.encodeBytes(myByteArray);

Затем экспорт переменных ActionScript в Javascript с использованием ExternalInterface .

2 голосов
/ 10 января 2010

Реализации JavaScript и DOM современных веб-браузеров на самом деле не имеют хороших механизмов для такого рода вещей.

Лучше всего, чтобы ваша AS3 возвращала URI протокола DATA с версией изображения в кодировке base64. Современные браузеры (IE8 +, FF2 + и т. Д.) Принимают URI DATA в качестве SRC тега IMG и отображают содержащееся в нем изображение.

http://en.wikipedia.org/wiki/Data_URI_scheme

Вам нужно будет, чтобы эксперт AS3 объяснил, как превратить массив байтов в строку в кодировке base64, но это не может быть так сложно.

0 голосов
/ 30 декабря 2015

В этом классе есть метод, который делает это:

https://github.com/monkeypunch3/flexcapacitor/blob/master/MainLibrary/src/com/flexcapacitor/utils/DisplayObjectUtils.as

звонит

var data:String = DisplayObjectUtils.getBase64ImageDataString(); 

вернет эту строку:

data:image/png;base64,...

Затем вы устанавливаете src img в html на это значение.

...