PDA

Просмотр полной версии : "Осветлить" сам цвет, не клип


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
Ошибся в импорте. Поправил.