Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Получить более светлый RGB цвет (http://www.flasher.ru/forum/showthread.php?t=160946)

MXPain 19.07.2011 14:48

Получить более светлый RGB цвет
 
Например имеется цвет 0x000040, для создания градиентной заливки нужно получить еще одно более светлое значение, что посоветуете?

КорДум 19.07.2011 14:50

Разбить на каналы и каждый разделить умножить на половину, как вариант.

MXPain 19.07.2011 14:56

а может добавить этот цвет в ARGB и альфу задать?

КорДум 19.07.2011 14:59

Альфа отжирает много ресурсов. Тем более, а что будет, если под градиентом будет что-то еще? Просвечивать?

MXPain 19.07.2011 15:00

ок, спасибо

Добавлено через 1 час 49 минут
ну вот как то так получилось:
Код AS3:

var dc:String = getLightedHexRGB("0x000040");
 
                public function getLightedHexRGB( hex:String ) : String {
 
                        var result:String = "0x";
                        var c:Array = [ '0', '1', '2', '3', '4', '5', '6', '7',
                                                        '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' ];
                        var bytes:Array = [];
                        var d:int;
 
                        while ( hex.length > 2 )
                        {
                                var byte:String = hex.substr( -2 );
                                hex = hex.substr(0, hex.length-2 );
                                bytes.splice( 0, 0, int("0x"+byte) );
                        }
 
                        for ( var i:int = 0; i < bytes.length; i++ )
                        {
                                d = int(bytes[i]) * 2 ;
                                if( d> 255 ) d = 255;
                                result += c[d / 16] + c[d % 16];// *2 осветляем
                        }
                  return result;
                }

Добавлено через 6 часов 38 минут
эх, писал писал а оказывается ColorUtil.adjustBrightness2 есть уже)))


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

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