![]() |
![]() |
Romtek |
![]()
Сообщение
#1
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 303 Пол: Мужской Реальное имя: Роман Репутация: ![]() ![]() ![]() |
Я нашёл этот код, но мне нужен перелив цветов от красного до синего (через зелёный, по спектру). А этот делает перелив от синего до красного и снова до синего.
Код type rgb = record r, g, b : byte end; paltype = array[0..255] of rgb; procedure GradientPal (var pal: paltype); var i: byte; begin For I := 0 To 255 Do with pal[i] do begin r := Round (Abs (127.0 * sin ( I * Pi/256.0))); g := Round (Abs (127.0 * sin ( I * Pi/128.0))); b := Round (Abs (127.0 * cos ( I * Pi/256.0))) end; end; Что нужно изменить? -------------------- Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
|
![]() ![]() |
P@sh@ |
![]()
Сообщение
#2
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 180 Пол: Мужской Репутация: ![]() ![]() ![]() |
такая палитра пойдет?
Код for i:=0 to 255 do with pal[i] do begin if i>127 then r:=0 else r:=(128-i)*2; if i<128 then b:=0 else b:=(i-128)*2; if i<128 then g:=255-r else g:=255-b; end; хоть и не совсем по спектру... фиолетового нет, да и зависимость линейная... |
![]() ![]() |
![]() |
Текстовая версия | 26.07.2025 16:05 |