Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   "Осветлить" сам цвет, не клип (http://www.flasher.ru/forum/showthread.php?t=106622)

JaLav 15.01.2008 15:07

"Осветлить" сам цвет, не клип
 
Здравствуйте!
Есть цвет, например 0x018597
нужно програмно получить из него цвет, в котором увеличенные все составляющие, как это делается для клипов
setTransform(ra: 50, ga:50, ba:50)

Fernando Costa 15.01.2008 15:19

http://etcs.ru/blog/category/as2/ru/etcs/filters/

etc 15.01.2008 16:02

http://etcs.ru/blog/as2/ru/etcs/draw/colorobject/

JaLav 15.01.2008 16:13

У меня такая задача:
есть обьект в флеше, пользователь задает цвет
мне надо обьект залить этим цветом, ноне просто залить, а градиентом, чтоб внизу темнее был, а вверху ярче

для "низа" подойдет тот цвет, который пользователь задает
а "вехний" цвет хочу получить как то из нижнего способом увеличения яркости "нижнего"

если б просто "верхний" надо было бледнее, можно было б задавать градиент от "нижнего" к белому, но надо именоо ярче

получается надо переводить цвет сначала в Hsb, менять яркость, а потом назад в RGB
нельзя ка-то проще это сделать?

etc 15.01.2008 16:18

Чем не устроил ColorObject?

JaLav 15.01.2008 16:34

colorobject
наверное подойдет))
просто хотела узнать, какими способами это можно сделать

спасибо!

JaLav 15.01.2008 18:04

Тогда подскажите еще, в чем моя ошибка
я в ООП разбираюсь ну.. не буду говорить как
Код:

import ru.etcs.draw.ColorObject;
color1="0x018597";
obj_color=new ColorObject();
str=obj_color.hexToRGB(color1);
trace(str);// выводит undefined

дальше все понятно
Код:

obj_color.rgbToHSB(obj_color.r, obj_color.g, obj_color.b);
obj_color.b+=50;
obj_color.hsbToRGB(obj_color.H, obj_color.S, obj_color.B);
trace(obj_color.r);
trace(obj_color.g);
trace(obj_color.b);// все клево, выводит то, что надо


etc 15.01.2008 18:07

undefined потому что не «0x018597», а «018597» нужно.
Смысла делать конверт нет. Проще:
Код:

import ru.etcs.draw.ColorObject;
color = new ColorObject();
color.rgb = 0x018597;
color.B += 50;
trace(color.r);
trace(color.g);
trace(color.b);
trace(color.hex);

«b» и «B» — это «blue» и «Brightness», не путайте.

JaLav 15.01.2008 18:16

все равно undefined

Спасибище Вам!!! ))

etc 15.01.2008 18:31

Ошибся в импорте. Поправил.


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

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