Синхронно получить ByteArray из образа внешнего ресурса во Flex - PullRequest
0 голосов
/ 22 октября 2011

У меня есть переменная, которая содержит значение String для пути к изображению. Как я могу использовать это, чтобы получить ByteArray из этого изображения синхронно?

Спасибо.

1 Ответ

2 голосов
/ 22 октября 2011

Вы не можете сделать это синхронно.Но вот как вы делаете это асинхронно.

<?xml version="1.0" encoding="utf-8"?>

<fx:Script>
    <![CDATA[
        public function init():void {
            var loader:Loader = new Loader();
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
            loader.load(new URLRequest(encodeURI("http://www.google.com/logos/2011/mary_blair-2011-hp.jpg"))); 
        }

        private function onComplete(e:Event)
        {
            //of course if all you were doing is displaying an image its better to do:
            //image.source = e.currentTarget.content;

            var bytes:ByteArray = LoaderInfo(e.currentTarget).bytes;

            //binary output
            trace(bytes);

            var imageLoader:Loader = new Loader();
            imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageComplete);
            imageLoader.loadBytes(bytes, null);
        }

        private function onImageComplete(e:Event):void
        {
            image.source = LoaderInfo(e.currentTarget).content;
        }
    ]]>
</fx:Script>

<s:Image id="image" />

...