2010-01-10 2 views

ответ

2

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

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

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

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

+0

Не работает в Alex

+0

Действительно, это не будет работать в более старых версиях браузера. Без использования URI DATA нет другого способа сделать это с самой DOM. – EricLaw

+2

Для записи способ преобразование: Возьмите свой DisplayObject (Sprite/MovieClip/whatever), преобразуйте его в BitmapData (myBitmapData.draw (mySprite);), преобразуйте его в PNG с использованием AS3CoreLib adobe (myByteArray = PNGEncoder.encode (myBitmapData);), конвертируйте что для Base64 с использованием Base64Encoder Flex (myBase64Encoder.encodeBytes (myByteArray);), затем экспортируйте его в некоторую функцию Javascript с помощью ExternalInterface. – Ender

4

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

myBitmapData.draw(mySprite); 

Преобразование, что в PNG с помощью компании Adobe AS3CoreLib

myByteArray = PNGEncoder.encode(myBitmapData); 

Преобразование, что в Base64 с помощью Flex-х Base64Encoder :

myBase64Encoder.encodeBytes(myByteArray); 

Затем export actionscript variables to Javascript используя ExternalInterface.

+0

спустя более 3 лет ... и кто-то еще нашел этот пост очень полезным! Большое вам спасибо! ! –

Смежные вопросы