![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2008
Сообщений: 61
|
Уважаемые, подскажите как один цвет пересчитать в другой так, чтобы он получился на определенный процент ярче (светлее)? Это необходимо для реализции эффекта "блик", котрорый хочу сделать через beginGradientFill. Если есть другой способ, то буду благодарен за подсказку...
![]() Последний раз редактировалось Antisly; 09.07.2008 в 23:32. |
|
|||||
|
вот те прога си++
разберешся со смыслом думаю ) Image1->Picture->LoadFromFile("c:\\img1.bmp");
TColor col[120][20], temp;
for(int j=0;j<20;j++){
for(int i=0;i<120;i++){
col[i][j]=Image1->Canvas->Pixels[i][0];
temp=Image1->Canvas->Pixels[i][j];
if(temp<8388607){
temp=0;
}else{
temp=16777215;
}
//temp=temp;
Image2->Canvas->Pixels[i][j]=temp;
}
}
|
|
|||||
|
я пробовал так делать, только не во флеше. я переводил значение пикселя из RGB в HSB (или HSL или HSV по разному называется), менял параметр B (он как раз отвечает за яркость), затем назад в RGB.
может быть во флеше есть специальная функция, кокторая это все реализует, я не знаю ![]()
__________________
я могу стать всем, если только захочу |
|
|||||
|
Регистрация: May 2008
Сообщений: 61
|
Цитата:
![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
|
|
|||||
|
Цитата:
там представлен алгоритм конвертации из RGB в HSL и обратно там за яркость отвечает L
__________________
я могу стать всем, если только захочу |
|
|||||
|
Регистрация: May 2008
Сообщений: 61
|
Цитата:
Ладно, будем разбираться.... |
|
|||||
|
Регистрация: Sep 2006
Адрес: Zaporozhye, Ukraine
Сообщений: 141
|
HLS и HSV(HSB) - это два разных зверя
Последний раз редактировалось vic_; 10.07.2008 в 15:01. |
|
|||||
|
согласен.
я пробовал реализовывать оба. правда я менял только тон, поэтому разницы не заметил.
__________________
я могу стать всем, если только захочу |
|
|||||
|
Регистрация: Sep 2006
Адрес: Zaporozhye, Ukraine
Сообщений: 141
|
По Hue может быть и незаметно на глаз. Из начального поста цитата:
> Уважаемые, подскажите как один цвет пересчитать в другой так, чтобы он получился на определенный процент ярче (светлее)? Если ярче - то это HSV, менять Value(Brightness), а если светлее - то это HLS, Lightness Я делал панель Color Palette для Fireworks, можно видеть в бете CS4. Там по градиентам на слайдерах заметна разница. |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:41. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|