![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Aug 2012
Сообщений: 4
|
Проблема в следующем при загрузке .png большого размера (подразумеваю размер картинки, не файла) все байты файла загружаются полностью. Только вот Event.COMPLETE не наступает вообще. И loader.content имеет значение null.
Если взять допустим другую картинку, например эту: "http://www.bestvinyl.ru/editor/sketches/HTCEvo3D.png", то все работает отлично. Не могу понять в чем дело. Прошу помощи, спасибо! import flash.display.Loader; import flash.net.URLRequest; import flash.events.Event; import flash.events.ProgressEvent; var request: URLRequest = new URLRequest("http://www.bestvinyl.ru/editor/sketches/HPPavilionG7.png"); var loader: Loader = new Loader(); loader.load(request); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderComplete); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loaderProgress); function loaderComplete(e: Event): void { addChild(loader); trace("Load complete!"); } function loaderProgress(e: ProgressEvent): void { trace ("Loaded: " + e.bytesLoaded + " of " + e.bytesTotal + ";"); } |
|
|||||
|
Регистрация: Apr 2012
Сообщений: 239
|
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderComplete); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loaderProgress); loader.load(request); package { import flash.display.Loader; import flash.display.Sprite; import flash.events.*; import flash.net.URLRequest; public class LoaderExample extends Sprite { private var url:String = "Image.gif"; public function LoaderExample() { var loader:Loader = new Loader(); configureListeners(loader.contentLoaderInfo); loader.addEventListener(MouseEvent.CLICK, clickHandler); var request:URLRequest = new URLRequest(url); loader.load(request); addChild(loader); } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); dispatcher.addEventListener(Event.INIT, initHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(Event.UNLOAD, unLoadHandler); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } private function httpStatusHandler(event:HTTPStatusEvent):void { trace("httpStatusHandler: " + event); } private function initHandler(event:Event):void { trace("initHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function openHandler(event:Event):void { trace("openHandler: " + event); } private function progressHandler(event:ProgressEvent):void { trace("progressHandler: bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal); } private function unLoadHandler(event:Event):void { trace("unLoadHandler: " + event); } private function clickHandler(event:MouseEvent):void { trace("clickHandler: " + event); var loader:Loader = Loader(event.target); loader.unload(); } } } |
|
|||||
|
Регистрация: Aug 2012
Сообщений: 4
|
Да, очень логично скопировать из Helpa. Но я там был и данный кусок кода так же беспомощен, как и тот, который выше.
|
|
|||||
|
Цитата:
Нет смысла загружать столь большую картинку. Порежьте её на части, и подгружайте при необходимости определенный кусок. И проблема сама собой отпадет, и производительность будет куда лучше.
__________________
adobe AS3 manual |
|
|||||
|
Вы пытаетесь загрузить изображение размером 4261 x 5118 пикселей. И если Вы компилите под FP9, то там есть ограничение на размер изображения: "это ограничение составляет 2 880 пикселей в высоту и 2 880 пикселей в ширину." Для FP10: 8,191х8,191. Для 11 (какая точно версия не помню) версии это ограничение снято. Возможно проблема в этом.
__________________
http://www.chessmax.ru |
|
|||||
|
Регистрация: Aug 2012
Сообщений: 4
|
Компилирую под FP10.2
Вроде границы допускают 4261 x 5118. Попробую на 11-м. Спасибо за ответ! |
|
|||||
|
Регистрация: Apr 2012
Сообщений: 239
|
зачем вам такая картинка? таких мониторов не бывает
Добавлено через 42 минуты это не так.... В AIR 1.5 и Flash Player 10 максимальный размер объекта BitmapData составляет 8,191 пикселя в ширину или высоту, а общее количество пикселей не может превышать 16,777,215. (Т. е. если ширина объекта BitmapData составляет 8,191 пикселя, его высота не может быть больше 2 048 пикселей.) |
|
|||||
|
Регистрация: Aug 2012
Сообщений: 4
|
все вроде бы хорошо. только одна странная вещь: запуская .swf из плеера все хорошо работает. если флешка работает из браузера - проблема таже.
Player: FP11.2 Добавлено через 4 минуты Цитата:
Идея с нарезкой уже приходила в голову. Это проблемно для заказчика. Хотелось бы найти выход из этого. Если ничего не получиться - нарезка идеальный выход. |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Такую картинку можно было бы и сжать раз в 100500, а потом растянуть. Вряд-ли, что сильно бы изменилось.
Вернее растягивать только видимые на экране куски.
__________________
Отряд Котовскага |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:51. |
|
|
« Предыдущая тема | Следующая тема » |
|
|