Страница 1 из 2

Загрузка изображения, draw не работает с uiloader

Добавлено: 06 авг 2012, 00:18
komar0ff
Пишу приложение, одной из функций которого будет загрузка изображения в альбом. Прочитал темы форума, получилось сохранять мувиклип в изображение. Но если в мувике есть uiloader, то ничего не работает, ошибается на этих строках:

Код: Выделить всё

var bmd:BitmapData=new BitmapData(imagesave.width,imagesave.height, false); bmd.draw(imagesave); var fileData:ByteArray = new JPGEncoder(100).encode(bmd);
Изображение подгружается со стороннего сервера, нормально отображается. Как это решить?

Re: Загрузка изображения, draw не работает с uiloader

Добавлено: 06 авг 2012, 00:43
Alazaur
Вроде напрямую вызывать encode у JPGEncodera одновременно с созданием и установкой качества нельзя
Либо так:

Код: Выделить всё

var bmd:BitmapData=new BitmapData(imagesave.width,imagesave.height, false);bmd.draw(imagesave);var je:JPGEncoder = new JPGEncoder(100);var fileData:ByteArray = je.encode(bmd);
Либо используйте PNGEncoder

Код: Выделить всё

var bmd:BitmapData=new BitmapData(imagesave.width,imagesave.height, false);bmd.draw(imagesave);var fileData:ByteArray = PNGEncoder.encode(bmd);

Re: Загрузка изображения, draw не работает с uiloader

Добавлено: 06 авг 2012, 01:11
sanych_dv
encode у JPGEncodera можно устанавливать в любое время.

Возможно у вас проблема нарушения среды безопасности при обращении к содержимому лоадера, если .draw возвращает пустую картинку, то вам сюда: http://www.flasher.ru/forum/blog.php?b=208

Re: Загрузка изображения, draw не работает с uiloader

Добавлено: 06 авг 2012, 01:14
Alazaur
sanych_dv, ща я проверю 8-)
Хм можно... :? а раньше почему не прокатывало у меня, мож я new писать забывал

Re: Загрузка изображения, draw не работает с uiloader

Добавлено: 06 авг 2012, 01:24
sanych_dv
В сомнительных случаях можно приводить выражение к типу:

Код: Выделить всё

 trace( JPGEncoder(new JPGEncoder(80)).encode(bmd).length ); 
или параноидальный вариант:

Код: Выделить всё

 trace( ByteArray(JPGEncoder(new JPGEncoder(80)).encode(bmd)).length ); 
:)

Re: Загрузка изображения, draw не работает с uiloader

Добавлено: 06 авг 2012, 01:27
Alazaur
По поводу JPGEncodera понятно :)
Мы не ищем легких путей? А не проще crossdomain.xml на сервер бросить :D

Re: Загрузка изображения, draw не работает с uiloader

Добавлено: 06 авг 2012, 01:30
sanych_dv
Alazaur писал(а): Мы не ищем легких путей? А не проще crossdomain.xml на сервер бросить :D
Кинуть куда, на сервер вконтакте? :)

Это только если со своего сервера картинки.

Re: Загрузка изображения, draw не работает с uiloader

Добавлено: 06 авг 2012, 01:32
Alazaur
Изображение подгружается со стороннего сервера
:) Он не с контакта грузит, а наоборот с сервера вконтакт. Хотя "сторонний сервер" тоже понятие растяжимое :D

Re: Загрузка изображения, draw не работает с uiloader

Добавлено: 06 авг 2012, 09:58
komar0ff
Картинки гружу со своего сервера, crossdomain.xml есть:

Код: Выделить всё

<cross-domain-policy><site-control permitted-cross-domain-policies="all"/><allow-access-from domain="*"/></cross-domain-policy>
Отображаются картинки нормально, а вот draw не работает.

Re: Загрузка изображения, draw не работает с uiloader

Добавлено: 06 авг 2012, 10:08
Alazaur
А код можно глянуть, начиная от загрузки, до рисования?
Не очень хороший кроссдомен) Даже очень нехороший