Вход

Просмотр полной версии : Сглаживание подгруженных картинок.


Ведьмак
29.02.2008, 20:06
Доброго времени суток, господа..

Когда мы добавляем раст в библиотеку, то ему можно включить allow Smoothing в настройках..

а если я гружу растры при помощи .loadClip, то как можно включить подобное сглаживание?

Заранее все спасибо)

iNils
29.02.2008, 20:29
1. Загрузить картинку
2. Снять с нее BitmapData
3. Выгрузить картинку
4. Приаттачить картинку с помощью attachBitmap установив четвертый аргумент как true

Ведьмак
29.02.2008, 20:53
спасибо.. так и знал, что без BitmapData не обойтись будет)

ToXICus
01.03.2008, 13:13
Да, только вот не могу понять, какой логический ход стоит за выгрузкой картинки?

fljot
01.03.2008, 13:48
Да, только вот не могу понять, какой логический ход стоит за выгрузкой картинки?
memory management

Ведьмак
03.03.2008, 19:26
не совсе понимаю, как
"2. Снять с нее BitmapData"

я с этим классом совсем не сталкивался, подскажите плз...

Nata_cher
03.03.2008, 19:35
у меня было такое решение:
import mx.utils.Delegate;
import flash.display.BitmapData;

//загрузка изображения при помощи класса MovieClipLoader
function loadImage(_img, _mc):Void{
var nameMC = _mc._name;
var mcl:MovieClipLoader = new MovieClipLoader ();//создаем экземпляр класса
var mclListen:Object = new Object (); //создаем к нему слушателя
mclListen.onLoadInit = Delegate.create(this, changeImg); //делегируем событие завершения загрузки
mcl.addListener (mclListen); //добавляем слушателя к загрузчику
mcl.loadClip(_img, _mc); //грузим изображение
}

//подмена изображения и удаление оригинала
function changeImg(_mc:MovieClip):Void{
//создаем прозрачный BitmapData с шириной и высотой картинки
var tmpBmp:BitmapData = new BitmapData (_mc._width, _mc._height, true, 0);
var _bmp:MovieClip = _mc._parent.bmp_mc; //находим MovieClip, куда будет вставлена картинка
tmpBmp.draw(_mc); //отрисовываем MovieClip, в котором содержиться картинка
_bmp.attachBitmap(tmpBmp, 0, "auto", true); //помещаем внутрь MovieClip
_mc.removeMovieClip(); //удаляем оригинал
}

Ведьмак
03.03.2008, 19:38
ага... все таки .draw()

спасибо, nata_cher :)

etc
03.03.2008, 19:40
у меня было такое решение:

Отсюда:
http://zaynutdinoff.livejournal.com/3331.html

chingachgoog
03.03.2008, 20:04
Хм. В статье написано, что _quality = 'BEST' не работает. Почему?

Ведьмак
03.03.2008, 20:16
мне только кажется, что это не тот случай, когда нужно Delegate использовать... ошибаюсь?

etc
04.03.2008, 00:09
мне только кажется, что это не тот случай, когда нужно Delegate использовать... ошибаюсь?
Не тот. Равно как и вообще создание какого левого объекта с методами.