PDA

Просмотр полной версии : изображение php ByteArray


alanq
21.09.2015, 00:23
Доброго времени.
Передаю адрес картинки в php
var gid:String = 'http://blabla.bla/1.jpg';

var ldr:URLLoader = new URLLoader();
var request:URLRequest=new URLRequest('http://blabla.bla/script.php' + '?gid=' + gid);
ldr.addEventListener(Event.COMPLETE, onComplete);
ldr.load(request);

function onComplete(event:Event):void {
//ldr.data
}
сам php
<?php
$param1 = $_GET['gid'];
$param2 = file_get_contents($param1);
echo $param2;
?>
И собственно не могу понять как из передаваемых назад данных в onComplete собрать и вывести картинку? Я так понял ldr.data возвращает ByteArray?

udaaff
21.09.2015, 00:34
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLLoader.html#dataFormat

alanq
21.09.2015, 00:56
Спасибо. добавил ldr.dataFormat = URLLoaderDataFormat.BINARY;
и в onComlite var ldri:Loader = new Loader();
ldri.loadBytes(ldr.data);
addChild(ldri);
Скажите так правильно или нет? Картинка есть)

И почему если я меняю размер ldri.width или heigth изображение не отображается?

КорДум
21.09.2015, 11:36
И почему если я меняю размер ldri.width или heigth изображение не отображается?
Меняете срау после loadBytes? Этот метод асинхронный и не загружает мгновенно байты. Подпишитесь на соответствующее событие лоадерКонтента и меняйте размер после этого.

alanq
21.09.2015, 11:43
Спасибо. Сделал так ...
ldri.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderCompleteim);
...
private function loaderCompleteim(event:Event):void
{
var loaderInfo:LoaderInfo = LoaderInfo(event.target);
var bitmapData:BitmapData = new BitmapData(loaderInfo.width, loaderInfo.height, false, 0xFFFFFF);
bitmapData.draw(loaderInfo.loader);
var img:Bitmap = new Bitmap(bitmapData);
img.width = 80;
img.height = 103;
addChild(img);
}

КорДум
21.09.2015, 11:57
var loaderInfo:LoaderInfo = LoaderInfo(event.target);
Только нужно
var loaderInfo:LoaderInfo = event.target as LoaderInfo;
Это не ошибка, всего лишь ненужное использование конвертации там, где нужно обычное приведение типов.