![]() |
Почему flash не выдает ошибку, когда загружаю слишком большое изображение?
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, unkno, false, 0, true);***
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, ImageLoad, false, 0, true ); loader.load( new URLRequest(file.url) ); file.url - ссылка на изображение выбранное пользователем если изображение превышает 16 мегапикселей (adobe air) должна быть ошибка. в итоге нет события complete и нет ошибки, и код зависает! что делать товарищи!? как отфильтровать большие картинки?? |
Как один из вариантов:
- грузить картинки с помощью URLLoader. - узнаем количество байт (bytesTotal) - если количество байт > лимита, то обрываем загрузку, если нет - то завершаем. Массив байт из URLLoader-a преобразуем в DisplayObject с помощью Loader.loadBytes() - не забываем укзать URLLoader-у dataFormat = URLLoaderDataFormat.BINARY |
Цитата:
|
пользователь может выбрать jpg, png, или gif изображение. Я пытаюсь сделать так, чтобы программа отфильтровывала изображения, которые flash не понимает. Максимальный размер изображения(4000х4000) png может быть и при размере 1 мб. По размеру не отфильтруешь. А разрешение можно узнать только после загрузки. А после загрузки флеш зависает, никаких событий не отправляя.
Нашел решение http://www.emstris.com/2009/05/extracting-binary-info/ но это слегка снижает производительность. Кто-нибудь знает, какое событие прослушивать, при load, для того чтобы определить что invalidBitmapData? |
| Часовой пояс GMT +4, время: 00:57. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.