URLLoader.load();
Загружать изображение будем как бинарные данные, с помощью экземпляра класса flash.net.URLLoader. Указываем экземпляру формат загружаемых данных URLLoaderDataFormat.BINARY, и вызываем метод load, где в качестве параметра передаем экземпляр класса flash.net.URLRequest с адресом к файлу.
var loa:URLLoader = new URLLoader(); loa.dataFormat = URLLoaderDataFormat.BINARY; loa.load(new URLRequest("image.bmp"));
ImageDecoder
Так как все изображения сжаты определенными алгоритмами, для того, чтобы их отобразить, необходимо их раскодировать. В прошлом посте мы рассматривали Encoder'ы изображений, и говорили о том, что писать их самому нет необходимости, потому что в сети полно готовых. Такая же ситуация и с Decoder'ами. Ищем. Находим:
Использовать их довольно легко. Вызывается метод decode, в единственном параметре передается ссылка на загруженные бинарные данные в виде экземпляра класса flash.utils.ByteArray (Те данные, что мы загрузили с помощью URLLoader). После исполнения возвращается экземпляр flash.display.BitmapData, который мы уже можем отобразить используя flash.display.Bitmap.
var brr:ByteArray = loa.data; var dec:BMPDecoder = new BMPDecoder (); var raw:BitmapData = dec.decode(brr); var bmp:Bitmap = new Bitmap(raw); addChild(bmp);
В сети можно также найти Decoder'ы для других типов файлов. Например для .tiff (Tagged Image File Format), и даже .psd-файлов (Photoshop Document). Так что теперь дело за вами :)
Спасибо!
ОтветитьУдалитьВсё делаеться без каких либо сторонних библиотек
ОтветитьУдалитьvar imageLoader:Loader = new Loader();
imageLoader.load(new URLRequest("1.jpg"));
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
function completeHandler(event:Event):void {
var imageTextureMap:BitmapData=event.target.content.bitmapData;
var myImage:Bitmap = new Bitmap(imageTextureMap);
addChild(myImage);
}
Спасибо, интересное решение :) Нужно будет попробовать.
ОтветитьУдалитьВсё делаеться без каких либо сторонних библиотек
ОтветитьУдалитьvar imageLoader:Loader = new Loader();
imageLoader.load(new URLRequest("1.jpg"));
По моему речь тут не о .jpg формате....
Спасибо за пример
я вот использую URLLoader для загрузки текстового контента и пытался паралельно использовать Loader для загрузки картинок, так вот Loader отказывается работать если где-то в юните используются URLLoader, выход, использовать URLLoader для всего
Удалить