Actionscript: изображение в строку base64 возможно? - PullRequest
6 голосов
/ 06 июля 2011

Можно ли преобразовать выбранное изображение в строку в кодировке base64?

Было бы хорошим и простым решением для загрузки изображений.:)

Спасибо;)

Ответы [ 2 ]

7 голосов
/ 06 июля 2011

Если вы хотите закодировать byteArray загруженного изображения, вы можете использовать класс Base64Encoder из mx.utils Base64Encoder .

Что-то вроде:

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
loader.load(new URLRequest("img.jpg"));

function loadComplete(e:Event):void {
    loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, loadComplete);
    var bmd:BitmapData = Bitmap(e.target.content).bitmapData;
    var ba:ByteArray = bmd.getPixels(new Rectangle(0,0,bmd.width,bmd.height));
    var b64:Base64Encoder = new Base64Encoder();
    b64.encodeBytes(ba);
    trace(b64.toString());
}

Мне пришлось отследить класс здесь .

Кроме того, есть еще один класс Base64, который я нашел, но не проверял здесь ... но выглядитвроде работает аналогично.

Надеюсь, это поможет.

2 голосов
/ 06 июля 2011

Вы можете сохранить изображение в виде Base64-строки, но я бы не советовал.Я пытался сделать это, и это сильно замедляет работу вашего приложения.

Если вы все еще хотите это сделать, вам следует скачать класс Base64 по этой ссылке: http://garry -lachman.com /2010/04/21 / base64-encoding-class-in-actionscript-3 /

Если вы затем получаете bitmapData из своего изображения, вы можете вызвать метод .getPixels (), которыйвозвращает байтовый массив.Этот байтовый массив можно преобразовать в строку Base64, используя класс в ссылке.

Если вы хотите загрузить изображения из строки Base64, вы можете создать объект Loader и использовать метод loadBytes () -загрузить в byteArray, который вы получите, расшифровав строку Base64.

Надеюсь, это поможет:)

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