![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Раскрашивание серой картинки [Delphi, Windows]
Новичек в игрушках © (2003-09-03 16:57:00)Может ктото подскажет как можно сделать картинку в градациях серого - когото определенного цвета - например в градациях лилового.
И еще как из тойже картинки сделать переход цвета - например светлые области голубые, а темные зеленые - а промежуточные - переход между голубым и зеленым.
Чтото подобное сделано в спрайтах Counter-Strike.
pasha_676 (2003-09-05 13:40:00) [1]
> а что такое 0х24?
Число дано в хексе
TButton (2003-09-05 13:30:00) [2]Я не дурак!
а что такое 0х24?
Sapersky (2003-09-05 10:36:00) [3]RGB(0x24*234 div 255,0x24*65 div 255,0x24*127 div 255)
Говорят ещё, что вместо div 255 лучше (быстрее) использовать shr 8, но я лично каких-то прибавок в скорости не замечал. Возможно, такую замену компилятор делает сам.
В данном случае результирующее изображение будет несколько темнее, поэтому рекомендуется для окраски использовать яркие цвета. Или делить не на 255, а на что нибудь поменьше. Но тогда добавить к каждому компоненту and 255 ( = If n>255 then n:=255), чтобы не вышло за пределы.
Dobrynja (2003-09-05 09:27:00) [4]>> ZmeiGorin © (04.09.03 17:25) [6]
RGB(0x24*234,0x24*65,0x24*127)
у тебя картинка будет бледнее (светлее) исходной
ZmeiGorin (2003-09-04 17:25:00) [5]RGB(0x24*234,0x24*65,0x24*127)
pasha_676 (2003-09-04 17:04:00) [6]Помоему ты должен определить во сколько шагов это нужно сделать, определить преращение шага, ну и с этим преращением рисовать точки/линии.
Новичек в игрушках (2003-09-04 16:50:00) [7]Ну почти понял - вот только с умножением как ?
Например есть темно-серая точка 0х24 - чтобы получить такую-же но цветную где основной цвет RGB(234, 65, 127) - что на что мне нужно умножить ?
Sapersky (2003-09-03 18:05:00) [8]Палитру в данном случае можно использовать. Даже лучше - меньше места исходное изображение займёт. А результирующее может быть в любом формате.
TButton (2003-09-03 17:42:00) [9]объясняю. у тебя есть ч-б картинка, и есть цвет, ктоб картинка приобрела оттенки етого цвета, нужно каждый пиксель картинки умножить на етот цвет... объяснил непонятно, знаю. для примера берем фотожопу, в 1м слое - ч-б картинка, второй залит каким-то цветом, вовтором слое ставим режим смешения "умножение" и получаем то что тебе надо.
pasha_676 (2003-09-03 17:12:00) [10]Что сделано в спрайтах - делается не в игре, а в граф редакторе. А вообще - линии постепенно (по необходимому закону) меняющие цвет.