Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как в AS3 программно обесцветить (desaturate) изображение / клип ? (http://www.flasher.ru/forum/showthread.php?t=138089)

AlliAS 30.03.2010 12:21

Как в AS3 программно обесцветить (desaturate) изображение / клип ?
 
Как в AS3 программно обесцветить (desaturate) изображение / клип?

nOobCrafter 30.03.2010 12:35

примерно так: http://racer242code.blogspot.com/200...ilter-as3.html
но если тут поискать то можно найти более точные значения.

Bgg 30.03.2010 13:43

Зеленый носок
Код AS3:

import com.greensock.*; 
import com.greensock.easing.*;
 
TweenMax.to(mc, 1, {colorMatrixFilter:{saturation:0}});


gloomyBrain 30.03.2010 14:01

А еще есть отличная штука от Гранта Скиннера. Не знаю, насколько этот класс Вам подойдет, но, на мой взгляд, он очень удобен в использовании

dmitriev 30.03.2010 16:25

silin, в своём классе ColorAdjust использует вот такую матрицу:
Код AS3:

public function sepia():void
{
    var mtrx:Array = [0.3930000066757202, 0.7689999938011169, 0.1889999955892563, 0, 0,
                            0.3490000069141388, 0.6859999895095825, 0.1679999977350235, 0, 0,
                            0.2720000147819519, 0.5339999794960022, 0.1309999972581863, 0, 0,
                            0, 0, 0, 1, 0];
 
    setMatrix(mtrx);
}


Adrior 30.03.2010 16:33

Вот такой код даёт хороший результат и не требует внешних библиотек:
Код AS3:

sampleSprite.filters = [new ColorMatrixFilter([0.3086, 0.6094, 0.0820, 0, 0, 
0.3086, 0.6094, 0.0820, 0, 0, 0.3086, 0.6094, 0.0820, 0, 0, 0, 0, 0, 1, 0])];

Не забудьте импортировать
Код AS3:

import flash.filters.ColorMatrixFilter;


Bgg 30.03.2010 16:46

Цитата:

Сообщение от Adrior (Сообщение 896802)
Вот такой код даёт хороший результат и не требует внешних библиотек:

Внешние библиотеки для того и придумывают чтобы не писать в коде матрицы содержащие по 25 элементов :)

AlliAS 30.03.2010 20:39

Всем большое спасибо.
Я остановился на ColorMatrixFilter + встроенный класс AdjustColor:

Код AS3:

ajustItemColor = new AdjustColor();
                        ajustItemColor.hue = 0;
                        ajustItemColor.saturation = -100;
                        ajustItemColor.brightness = 0;
                        ajustItemColor.contrast = 0;
                        colorMatrix = new ColorMatrixFilter(ajustItemColor.CalculateFinalFlatArray());



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

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