Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Изменение контраста и Яркости (http://www.flasher.ru/forum/showthread.php?t=138241)

MidnightOne 02.04.2010 16:23

Изменение контраста и Яркости
 
Здравствуйте.

На active.tutsplus.com есть тутор, рассказывающий о изменении яркости. Я взял от туда код (и .fla) и изменил его немного (нагуглив, что кроме оффсета есть Multiplier). Теперь в нём есть псевдо-контраст. Почему псевдо? Потому, что он работает совсем не так, как ожидалось и хотелось...
http://**********/1297303

Есть возможность сделать более-менее реалистичное изменение контраста, но тогда вместе множителем придётся изменять и смещение, следовательно будет только один ползунок. (независимости не будет)

Код AS3:

package 
{
        import flash.display.MovieClip;
        import flash.display.Sprite;
        import fl.events.SliderEvent;
        import flash.geom.ColorTransform;
 
        public class Main extends Sprite
        {
                var colorTransform:ColorTransform = new ColorTransform();
 
                public function Main():void
                {
                        panel.slider.addEventListener(SliderEvent.CHANGE, updateBrightness);
                        panel.cSlider.addEventListener(SliderEvent.CHANGE, updateContrast);
                }
 
                private function updateBrightness(e:SliderEvent):void
                {
                        colorTransform.redOffset = e.value;
                        colorTransform.greenOffset = e.value;
                        colorTransform.blueOffset = e.value;
 
                        image.transform.colorTransform = colorTransform;
 
                        panel.bValue.text = e.value;
                }
 
                private function updateContrast(e:SliderEvent):void
                {
                        colorTransform.redMultiplier = colorTransform.greenMultiplier = colorTransform.blueMultiplier = e.value / 100;
 
                        image.transform.colorTransform = colorTransform;
 
                        panel.cValue.text = e.value;
                }
        }
}

Где-то слышал, что это можно сделать через color matrix, но не знаю как.

PS: Мне нужны два независимых ползунка.

VVall 02.04.2010 16:54

http://www.adobe.com/devnet/flash/ar...ations_04.html

zerAlex2 15.08.2012 01:50

Решил поделиться найденым:
http://www.greensock.com/as/docs/twe...ormPlugin.html
http://www.greensock.com/as/docs/twe...intPlugin.html

dimarik 16.08.2012 00:37

http://www.silin.su/#AS3/filters/color


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

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