|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Как пересчитать цвет для его усиления-затемнения
Здравствуйте
есть цвет, к примеру 0xFF0000 как мне пересчитать его, чтобы он стал немного темнее, подскажите, будьте добры |
|
|||||
Что значит пересчитать? Чтобы красный стал темнее, следует уменьшить значение соответствующего канала, например 0xAA0000.
|
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Например умножить на *0.75
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
Я думал разложить на RGB и по отдельности отнять по 10-ке, к примеру, от значений каждого из каналов, а потом заново "собрать" измененный цвет, я вот что подразумевал под "пересчитать"
Psycho Tiger, спасибо, попробую bav, дело в том что цвет может быть любым, и я не могу знать точно какой из каналов менять P.S. Умножение цвета на дробь, к сожалению, не дает затемненного исходного цвета Последний раз редактировалось djyamato; 25.01.2011 в 01:15. |
|
|||||
var LineColor=0xFF0000; var red:uint =(LineColor & 0xff0000) >>> 16; var green:uint =(LineColor & 0xff00) >>> 8; var blue:uint =(LineColor & 0xff); red=red*0.75; green=green*0.75; blue=blue*0.75; red <<= 16; // xxxxxxxx 00000000 00000000 green <<= 8; // xxxxxxxx 00000000 blue = blue; // xxxxxxxx ResampledLineColor= red | green | blue; Последний раз редактировалось djyamato; 25.01.2011 в 04:11. |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Я имел ввиду умножить каждый канал.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
[+1 28.12.10]
[+1 29.12.10] Регистрация: Aug 2006
Сообщений: 107
|
Проблема простого умножения на друбное в том что если к примеру 0х30000(темно красный без оттенков других цветов) умножить на 0.5 получается 0х15000(т.е. цвет с оттенком зеленого). Так что думаю правильнее всего умножать каналы по отдельности, так как вы и сделали.
|
|
|||||
Спасибо всем за советы, хорошо что вопрос вешился.
Я не умел "раскладывать" цвет на каналы и обратно "собирать" его. P.S. Кстати, я делаю обводку затемненным цветом при помощи фильтра Glow (inner=true), есть ли какой-нибудь другой способ ? |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Можно рисовать менее тонкой обводкой по более толстой =)
По поводу битов и байтов, как вычислять цвет и как это работает.
__________________
Тут мужик танцует и поёт про флэш |
Часовой пояс GMT +4, время: 23:24. |
|
« Предыдущая тема | Следующая тема » |
|
|