Показать сообщение отдельно
Старый 28.10.2008, 18:44
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 2  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Правильно написано. Не может не помогать.
Код:
import flash.filters.BitmapFilter;
import flash.filters.ColorMatrixFilter;

var mc:MovieClip = this.attachMovie("mc", "mc", 1, {_x:Stage.width/2, _y:Stage.height/2});
mc.cacheAsBitmap = true;

var matrix:Array = new Array();
matrix = matrix.concat([1, 0, 0, 0, 0]);
matrix = matrix.concat([0, 1, 0, 0, 0]);
matrix = matrix.concat([0, 0, 1, 0, 0]);
matrix = matrix.concat([0, 0, 0, 0.5, 0]);

var filter:BitmapFilter = new ColorMatrixFilter(matrix);
mc.filters = new Array(filter);
upd.
Сорри - не доглядел. Если для битмапы, то так:
Код:
var myBitmapData:BitmapData = new BitmapData(100, 100, true, 0xFFAA0000);
var mc:MovieClip = this.createEmptyMovieClip("mc", 1);
mc.attachBitmap(myBitmapData, 0);

var matrix:Array = new Array();
matrix = matrix.concat([1, 0, 0, 0, 0]);
matrix = matrix.concat([0, 1, 0, 0, 0]);
matrix = matrix.concat([0, 0, 1, 0, 0]);
matrix = matrix.concat([0, 0, 0, 0.5, 0]);

var filter:BitmapFilter = new ColorMatrixFilter(matrix);

myBitmapData.applyFilter(myBitmapData, myBitmapData.rectangle, new flash.geom.Point(0, 0), filter);
Нужно при создании битмапы указать прозрачность == true. И если картинка берется из библиотеки, она должна быть 24 битной - т.е. с альфа каналом (.PNG например).


Последний раз редактировалось Волгоградец; 28.10.2008 в 18:54.