Показать сообщение отдельно
Старый 26.07.2011, 00:48
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>>2. Я ее уменьшил до пропорциональных размеров

это тогда получается, что нет смысла ресайзить битмап,
а сразу можно работать с маленькой битмапДатой
Код AS3:
var s:Number = Math.max(69 / _bitmap.width , 69 / _bitmap.height);
var mat:Matrix = new Matrix();
mat.scale(s, s);
 
var w:Number = s * _bitmap.width;
var h:Number = s * _bitmap.height;
// уменьшенная картинка
var bmd1:BitmapData = new BitmapData(w, h, true, 0x00000000); //срисовываем с масштабированием
bmd1.draw(_bitmap, mat, null, null, null, true);
var bmp1:Bitmap = new Bitmap(bmd1);
 
// обрезанная картинка
var bmd2:BitmapData = new BitmapData(69, 69);
var rect:Rectangle = new Rectangle(0, 0, 69, 69); //69*69 - размер превью-квадрата
var pt:Point = new Point(0, 0);
bmd2.copyPixels(bmd1, rect, pt);
var bmp2:Bitmap = new Bitmap(bmd2);
bmp2.x = bmp1.width+10;
 
addChild(bmp1);
addChild(bmp2);