Просмотр полной версии : Matrix Filter :: Как юзать
sxstudio
12.10.2005, 21:39
Ребят, Мне надо обесцветить картинку программно..Но я ее подгружаю и она загружается в мувик,который я потом дублирую! обрыл все - нашел токо топик Cacodemon'a - http://flasher.ru/forum/showthread.php?t=69780&page=1&pp=10 -! Он пишет :
Обесцвечивает так ---
gray = new flash.filters.ColorMatrixFilter();
gray.matrix =
[0.4, 0.4, 0.4, 0, 0,
0.4, 0.4, 0.4, 0, 0,
0.4, 0.4, 0.4, 0, 0,
0, 0, 0, 1, 0];
Но ниххх... не работает! Ох уж этот матричный фильтр... У меня flash 8!
Так вот - кто нить может рассказать как это работает и как им пользоватьчся.... А еще лучше примерчик скинуть... самый-самый скудный хотяб - уже хорошо было бы! Или может скажите где в документации лежит этот примерчик! Че то не найду... вроде все обрыл!!!
Спасибо!
ultraflasher
12.10.2005, 22:43
F1 нажми
sxstudio
12.10.2005, 23:39
F1 нажми
Спасибо... весьма ценный совет! Может еще есть что?
idi v Help>Flash Help... podajdjot? :D
KidsKilla
13.10.2005, 01:48
в 8ке по умолчанию стоит экспорт в 7ю версю плеера. прочекай...
в самом начале вставь
import flash.filters.ColorMatrixFilter;
cacodemon
15.10.2005, 07:24
iNils как показывает практика это необязательно, и без него нормально пашет. Хотя может, это возволяет применять фильтры в других плеерах?
2 Аффтор
я делаю так:
_global.gray = new flash.filters.ColorMatrixFilter();
gray.matrix = [0.4, 0.4, 0.4, 0, 0,
0.4, 0.4, 0.4, 0, 0,
0.4, 0.4, 0.4, 0, 0,
0, 0, 0, 1, 0];
ну а потом в любом месте где мне нужно, пишу так:
yourMovieClip.filters = [gray];
iNils как показывает практика это необязательно, и без него нормально пашет.
По крайне мере у меня без import flash.filters.ColorMatrixFilter не работал следущий код:
import flash.filters.ColorMatrixFilter;
desaturation = 0;
function getDesaturationFilter (t) {
t = t ? t : 1;
var r = 0.212671;
var g = 0.715160;
var b = 0.072169;
return new ColorMatrixFilter ([t * r + 1 - t, t * g, t * b, 0, 0, t * r, t * g + 1 - t, t * b, 0, 0, t * r, t * g, t * b + 1 - t, 0, 0, 0, 0, 0, 1, 0]);
}
_root.createEmptyMovieClip ("mc", 2);
mc.beginGradientFill ("linear", [0xFF0000, 0x00FF00, 0x0000FF], [100, 100, 100], [0, 128, 255], {a:200, b:0, c:0, d:0, e:200, f:0, g:200, h:200, i:1});
mc.moveTo (100, 100);
mc.lineTo (100, 300);
mc.lineTo (300, 300);
mc.lineTo (300, 100);
mc.lineTo (100, 100);
mc.endFill ();
mc.onEnterFrame = function () {
if (desaturation <= 0) {
des = 0.05;
} else if (desaturation >= 1) {
des = -0.05;
}
desaturation += des;
this.filters = new Array (getDesaturationFilter (desaturation));
};
Хотя может, это возволяет применять фильтры в других плеерах?
Данный фильтр вшит в 8-ой плеер. Поэтому проигрывать в младших версиях возможности нет.
import flash.filters.ColorMatrixFilter прописывает
путь до класса, что позволяет создавать объект класса
прописывая
_global.gray = new ColorMatrixFilter();
Ни более того......
import flash.filters.ColorMatrixFilter прописывает
путь до класса, что позволяет создавать объект класса
прописывая
_global.gray = new ColorMatrixFilter();
Ни более того......
штрек, спасибо, ты настоящий гуру
дай миллион?
Musatoff
19.11.2007, 18:14
так тоже, тока проще в 500 раз =)
а вот ссылка хорошая на эту тему http://www.adobe.com/devnet/flash/articles/matrix_transformations_04.html
Снизу подбираешь нужное значение и всё.:)
import flash.filters.ColorMatrixFilter;
var myColorMatrix:ColorMatrixFilter = new ColorMatrixFilter([0.3086,0.6094,0.082,0,0,0.3086,0.6094,0.082,0,0,0.3086,0.6094,0.082,0,0,0,0,0,1,0]
твой клип.filters = [myColorMatrix])
сам долго парился.
Musatoff, а посмотреть на дату последнего перед твоим постом?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.