|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Feb 2010
Сообщений: 102
|
Bitmap отображается раньше чем выполнится ресайз
Собственно столкнулся с такой вещью. Загружаю картинку - проверяю её размеры изображения больше чем мне это надо - ресайжу их, после чего отправляю на отображение. Но картинка отправляется раньше чем ресайзится
if(imageHeight>_rightImageHeight || imageWidth>MENU_ITEM_DEPTH) { if(imageHeight>imageWidth) { bm.height=(imageHeight/(imageHeight/_rightImageHeight)); bm.width=(imageWidth/(imageHeight/_rightImageHeight)); } else { bm.height=(imageHeight/(imageWidth/MENU_ITEM_DEPTH)); bm.width=(imageWidth/(imageWidth/MENU_ITEM_DEPTH)); } } addChild(bm); |
|
|||||
[+3 18.04.11]
Регистрация: Dec 2010
Сообщений: 342
|
А ты не подумал, что твои условия вообще могут не выполняться? Потрейси. А после отображения картинка сразу ресайзится что ли?
И вообще. Тут проще scaleX scaleY использовать... а ты ух нагородил) |
|
|||||
Регистрация: Feb 2010
Сообщений: 102
|
трейсил, условия выполняются, но первым делом добавляется битмапа, а потом уже работают условия, про scale'ы забыл, но в принципе ничего плохого в том как это делаю я не вижу, хотя могу и ошибатся.
|
|
|||||
[+3 18.04.11]
Регистрация: Dec 2010
Сообщений: 342
|
предположу, что ты добавил битмэп выше, а последним addChild ты просто передобавил битмэп на сцену. Ты бы побольше кода дал, а то так сложно судить
|
|
|||||
Регистрация: Feb 2010
Сообщений: 102
|
ну секретов никаких нету, я загружаю картинку, когда срабатывает событие для загрузки картинки Event.COMPLETE я смотрю какие размеры. если не подходят ресайжу, если подходят добавляю.
private function rightImageLoaded(e:Event):void { e.target.removeEventListener(Event.COMPLETE, rightImageLoaded); var bm:Bitmap=e.target.content; var imageHeight:int=bm.height; var imageWidth:int=bm.width; //--проверяем - если загруженная картинка больше допустимого размера, тогда пропорционально уменьшаем её if(imageHeight>_rightImageHeight || imageWidth>MENU_ITEM_DEPTH) { if(imageHeight>imageWidth) { bm.height=(imageHeight/(imageHeight/_rightImageHeight)); bm.width=(imageWidth/(imageHeight/_rightImageHeight)); } else { bm.height=(imageHeight/(imageWidth/MENU_ITEM_DEPTH)); bm.width=(imageWidth/(imageWidth/MENU_ITEM_DEPTH)); } } addChild(bm); } |
|
|||||
[+3 18.04.11]
Регистрация: Dec 2010
Сообщений: 342
|
Так после добавление исходной картинки на сцену сразу же картинка ресайзится и становится нужного размера. Так у тебя на данный момент происходит?
ты случайно такое не сделал еще выше |
Часовой пояс GMT +4, время: 11:10. |
|
« Предыдущая тема | Следующая тема » |
|
|