![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2008
Сообщений: 9
|
Значит есть у меня следующий класс
class ImgHandler extends MovieClip{ var ImgL :Loader; public function ImgHandler(file:FileReference){ ImgL = new Loader(); ImgL.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoadComplete); ImgL.loadBytes(file.data); } private function imageLoadComplete(event:Event):void{ var bitmapData:BitmapData = Bitmap(ImgL.content).bitmapData.clone(); var sMx :Matrix = new Matrix(); var _max_size :Number = 400; var _w :Number = bitmapData.width; var _h :Number = bitmapData.height; var tan :Number = (_h/_w); var bmd :BitmapData; if( _w > _max_size || _h > _max_size ) if( _w <= _h && _w >= _max_size ){ bmd = new BitmapData( _max_size, (int)(_max_size*tan), true, 0x00000000); sMx.scale( _max_size/_w, (int)(_max_size*tan)/_h ); }else{ bmd = new BitmapData( (int)(_max_size/tan), _max_size, true, 0x00000000); sMx.scale( (int)(_max_size/tan)/_w, _max_size/_h ); } bmd.draw(bitmapData,sMx); GlobalStore.add(new Bitmap(bmd)); } } п.с. в FileReference переменную все докружаю по учебнику ^^ т.е не в этом дело,я вообще бага этого не замечал когда сразу в битмап кидал и выводил,ничего не маштабируя .. |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 1,195
|
Слишком большая картинка.
Цитата:
|
|
|||||
|
Регистрация: Jun 2008
Сообщений: 9
|
хМ,я ее загружал уже,могу код дать,и ничего не было, а тут вдруг появилось + вконтакте с такими работает и еще на gif ругается и на некоторые джепеги тоже ругается,попозже выложу ошибки..
|
|
|||||
|
Регистрация: May 2009
Сообщений: 220
|
VVall, а в 10-м плеере разве не ввели расширение пиксельного максимума?
Есть подозрение, что инфу про 2880 pixels просто не обновили в AS3 хэлпе. Вот, например Цитата:
|
|
|||||
|
Регистрация: Jun 2008
Сообщений: 9
|
Смешно,но так работает ! (тестировал на ~7000x7000 )
private function imageLoadComplete(event:Event):void{ var bitmap:Bitmap = new Bitmap(Bitmap(ImgL.content).bitmapData); var bitmapData:BitmapData = bitmap.bitmapData;//Bitmap(ImgL.content).bitmapData.clone(); var sMx :Matrix = new Matrix(); var _max_size :Number = 400; var _w :Number = bitmapData.width; var _h :Number = bitmapData.height; var tan :Number = (_h/_w); var bmd :BitmapData; if( _w > _max_size || _h > _max_size ) if( _w <= _h && _w >= _max_size ){ bmd = new BitmapData( _max_size, (int)(_max_size*tan), true, 0x00000000); sMx.scale( _max_size/_w, (int)(_max_size*tan)/_h ); }else{ bmd = new BitmapData( (int)(_max_size/tan), _max_size, true, 0x00000000); sMx.scale( (int)(_max_size/tan)/_w, _max_size/_h ); } bmd.draw(bitmapData,sMx); GlobalStore.add(new Bitmap(bmd)); } Последний раз редактировалось VantuZZ; 11.09.2009 в 01:46. |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 1,195
|
Да, вы правы, когда копировал, открыл хелп для 9-ого плеера.
|
|
|||||
|
А какой смысл в этой конструкции?
var bitmap:Bitmap = new Bitmap(Bitmap(ImgL.content).bitmapData); var bitmapData:BitmapData = bitmap.bitmapData; или чего вы вообще хотите этим кошмарным куском кода добиться? Добавлено через 6 минут и что это за хитрая хреновина? возможно имелось ввиду |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 9
|
вариант первый работает,спасибо,хотя не могу понять почему мой первичный не работал,пришлось извращаться
на это выдается Цитата:
![]() на гифы упорно пишет |
|
|||||
|
запустите флешку в дебаггере, что бы узнать конкретнее где именно вызывается null. Гифы анимированные или нет? Что выдают трейсы?
Поставьте брекпоинты в соответсвующих местах проверьте все объекты. Я думаю дальше объяснять не нужно? |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:15. |
|
|
« Предыдущая тема | Следующая тема » |
|
|