Показать сообщение отдельно
Старый 25.11.2007, 14:15
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
1. Создать клип, спрятать клип, загрузить в него картинку.

2. Дело не в качестве картинки, а в способе интерполяции ее данных при изменнеи размеров. Если картинка лежит в библиотеке, то надо поставить для нее галочку Allow smoothing. Если она подгружается, то все несколько сложнее. Надо загрузить картинку во временной мувиклип, снять с клипа изображение в объект BitmapData с помощью метода draw, выгрузить картинку, и в клип предназначенный для показа приаттачить объект BitmapData, указав 4-ым параметром true.
Вот пример, который грузит картинку test.jpg и увеличивает ее в 1.5, слева обычная картинка, справа с примененим сглаживания.
Код:
import flash.display.BitmapData;
//// клип в котороый будем показывать загруженную картинку картинку
var mcImageA:MovieClip = this.createEmptyMovieClip ("mcImageB", 0);
//// клип в котороый будем показывать картинку с примением сглаживания
var mcImageB:MovieClip = this.createEmptyMovieClip ("mcImageB", 1);
//// сюда будем снимать скриншот
var __bmp:BitmapData = null;
//// загрузчик
var __mcl:MovieClipLoader = new MovieClipLoader ();
__mcl.addListener (this);
__mcl.loadClip ("test.jpg", mcImageA);
function onLoadInit (target_mc:MovieClip) {
	__bmp.dispose ();
	__bmp = new BitmapData (mcImageA._width, mcImageA._height, true, 0x0);
	__bmp.draw (mcImageA);
	mcImageB.attachBitmap (__bmp, 0, null, true);
	mcImageA._xscale = mcImageA._yscale = mcImageB._xscale = mcImageB._yscale = 150;
	mcImageB._x = mcImageA._width;
}
__________________
(и)Нильс.ru | Плагины для FlashDevelop