Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   внешние картинки, Smooth и ColorMatrixFilter (http://www.flasher.ru/forum/showthread.php?t=105842)

5_element 25.12.2007 12:53

внешние картинки, Smooth и ColorMatrixFilter
 
Загружаю внешнюю картинку (нашла на этом же форуме как), пример из http://zaynutdinoff.livejournal.com/3331.html, все работает. После этого хочу обработать картинку с помощью фильтра... и она опять дрожит. А как правильно?

Код:

//импортируем необходимые библиотеки
import mx.utils.Delegate;
import flash.display.BitmapData;
import flash.filters.ColorMatrixFilter;
//фильтр
var myColorMatrix_filter:ColorMatrixFilter = new ColorMatrixFilter([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0.6, 0]);
//
//загрузка изображения при помощи класса MovieClipLoader
function loadImage(_img:String, _mc:MovieClip):Void {
        trace(_mc);
        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+Math.random()*100, _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();
        //удаляем оригинал
}
var pic_mc:MovieClip = cont.createEmptyMovieClip("pic_mc", cont.getNextHighestDepth());
//pic_mc.filters = [myColorMatrix_filter];
var img_mc:MovieClip = pic_mc.createEmptyMovieClip("img_mc", pic_mc.getNextHighestDepth());
var bmp_mc:MovieClip = pic_mc.createEmptyMovieClip("bmp_mc", pic_mc.getNextHighestDepth());
loadImage("pic_mc.jpg", img_mc);
onEnterFrame = function () {
        cont._xscale = 100.1;
        cont._yscale = 100.1;
        cont._x = cont._x+0.1;
};



Часовой пояс GMT +4, время: 14:00.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.