Показать сообщение отдельно
Старый 11.09.2009, 01:42
VantuZZ вне форума Посмотреть профиль Отправить личное сообщение для VantuZZ Найти все сообщения от VantuZZ
  № 7  
Ответить с цитированием
VantuZZ

Регистрация: Jun 2008
Сообщений: 9
Смешно,но так работает ! (тестировал на ~7000x7000 )
Код AS3:
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.