Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Загрузка PNG-картинки (http://www.flasher.ru/forum/showthread.php?t=164572)

Srednas 17.08.2011 12:16

Загрузка PNG-картинки
 
Здравствуйте.
Нужно взять из загруженной gyu-картинки битмапдату. Делаю так:
Код AS3:

        var ldrImg1:URLLoader = new URLLoader()
        ldrImg1.dataFormat = URLLoaderDataFormat.BINARY;
        var reqImg1:URLRequest = new URLRequest("b.png")
        ldrImg1.addEventListener(Event.COMPLETE, onCompleteDownloadBigLogo);
        ldrImg1.load(reqImg1);
 
        function onCompleteDownloadBigLogo(e:Event):void{
                        var bD:BitmapData = e.target.data;
                        trace(bD);                                       
        }

В результете выходит:
Код:

Ошибка типа Coercion: невозможно преобразовать flash.utils::ByteArray@2660afa1 в flash.display.BitmapData.
Что сделать чтобы получить изображение с последующей возможность добавить его на сцену?

BezDelnik 17.08.2011 12:18

используйте Loader вместо URLLoader

Srednas 17.08.2011 12:29

Цитата:

Сообщение от BezDelnik (Сообщение 1022464)
используйте Loader вместо URLLoader

Даже если использовать Loader, в результате получится ByteArray, который нужно преобразовать в картинку, чтобы достать BitmapData? Или я не что-то неправильно понимаю?

DaFive 17.08.2011 12:35

contentLoaderInfo.content.

Добавлено через 5 минут
Вообще в хэлпе пример даже есть по загрузке картинки.
Код AS3:

var url:String = "http://www.helpexamples.com/flash/images/image2.jpg";
var urlRequest:URLRequest = new URLRequest(url);
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loader_complete);
loader.load(urlRequest);
addChild(loader);
 
function loader_complete(evt:Event):void {
    var target_mc:Loader = evt.currentTarget.loader as Loader;
    target_mc.x = (stage.stageWidth - target_mc.width) / 2;
    target_mc.y = (stage.stageHeight - target_mc.height) / 2;
}


recew 17.08.2011 13:49

Вам нужно работать с объектом BitmapData или Bitmap? Тогда вот:
Код AS3:

                public function Main():void 
                {
                        var loader:Loader = new Loader();
                        var url:URLRequest = new URLRequest("1.png");
                        loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplt);
                        loader.load(url);
 
                        function loadComplt(e:Event):void
                        {
                                var imgD:BitmapData = new BitmapData(213, 158);
                                imgD = BitmapData(Bitmap(loader.content).bitmapData);
                                var img:Bitmap = new Bitmap(imgD);
                                addChild(img);
                        }
                }



Часовой пояс GMT +4, время: 11:35.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.