Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D

Ответ
 
Опции темы
Старый 12.06.2009, 22:52   #1
ELIAS
Знающий
 
Аватар для ELIAS
 
Регистрация: 31.08.2008
Адрес: Arrakis
Сообщений: 234
Написано 6 полезных сообщений
(для 6 пользователей)
Подмигивание Управление цветом с помощью HSL

Для частиц салюта нужны только яркие и сочные цвета, причем рандомные. С помощью ргб этого так просто не добиться.
Вспомнил про HSL(Оттенок Сочность Яркость)-тут достаточно менять только первый параметр в пределах [0;360] - будут меняться оттенки цвета, а два других оставляем всегда в 100, всегда получаем яркие и сочные цвета.
Как воспользоваться этим HSL(иначе HSB ) в блитце. Подозреваю что раз команды нет, то надо как то выкручиваться через функцию, которая будет переводить нужный нам HSL в соответсвующий ему RGB
???

Последний раз редактировалось ELIAS, 12.06.2009 в 22:59.
(Offline)
 
Ответить с цитированием
Старый 12.06.2009, 23:23   #2
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Управление цветом с помощью HSL

В поиск
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 12.06.2009, 23:30   #3
MiXaeL
Бывалый
 
Аватар для MiXaeL
 
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений
(для 267 пользователей)
Ответ: Управление цветом с помощью HSL

или в гугл)

А еще лучше в вики сначала глянуть, ведь не сложно, да?
http://ru.wikipedia.org/wiki/HLS
http://ru.wikipedia.org/wiki/HSV_(%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%B2%D0%B0%D1 %8F_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C)

Последний раз редактировалось MiXaeL, 12.06.2009 в 23:38.
(Offline)
 
Ответить с цитированием
Старый 12.06.2009, 23:32   #4
ffinder
Дэвелопер
 
Аватар для ffinder
 
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений
(для 1,460 пользователей)
Ответ: Управление цветом с помощью HSL

; ----------------------------------------------------------------------------
; This function takes a color in HSV format and returns a color in RGB format.
; the result is returned in global COLOR property of a Blitz3D engine
; ----------------------------------------------------------------------------
Function HSV__RGB(h#, s#, v#)
If s = 0 Then
r# = g# = b# = v ;grey
Else
h = h / 60
i = Floor(h)
f# = h - i
p# = v * (1 - s)
q# = v * (1 - s * f)
t# = v * (1 - s * (1 - f))
Select i
Case 0
r# = v
g# = t
b# = p
Case 1
r# = q
g# = v
b# = p
Case 2
r# = p
g# = v
b# = t
Case 3
r# = p
g# = q
b# = v
Case 4
r# = t
g# = p
b# = v
Default
r# = v
g# = p
b# = q
End Select
EndIf
Color r, g, b
; Color r * 255, g * 255, b * 255
End Function

Graphics 720,480

For i= 0 To 359
For j = 0 To 15
HSV__RGB(i, 0.5, j*16)
Rect i*2, 20+j*25, 2, 24, True
Next
Next
(Offline)
 
Ответить с цитированием
Старый 13.06.2009, 00:06   #5
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Ответ: Управление цветом с помощью HSL

http://blitzbasic.com/codearcs/codearcs.php?code=2333
(Offline)
 
Ответить с цитированием
Старый 13.06.2009, 00:45   #6
MiXaeL
Бывалый
 
Аватар для MiXaeL
 
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений
(для 267 пользователей)
Ответ: Управление цветом с помощью HSL


Copied (and translated!) from Wikipedia's article on HSL and HSV.
вики рулит))
(Offline)
 
Ответить с цитированием
Старый 13.06.2009, 12:09   #7
ELIAS
Знающий
 
Аватар для ELIAS
 
Регистрация: 31.08.2008
Адрес: Arrakis
Сообщений: 234
Написано 6 полезных сообщений
(для 6 пользователей)
Ответ: Управление цветом с помощью HSL

Не понятно как пользоваться этими функциями HSL из поста 4 и из офф.сайта.
В цвете ргб нужно 3 переменных, а тут весь цвет кодируется в одной переменной.

ЗЫ: а как здесь можно попасть на раздачку ключей к FastImage? Или не раздают вовсе?
(Offline)
 
Ответить с цитированием
Старый 13.06.2009, 12:29   #8
jimon
 
Сообщений: n/a
Ответ: Управление цветом с помощью HSL

ELIAS
в RGB надо 1 переменная точнее 3\4 обычного 4-байтового int'а, для HSL видимо тоже хватает 3\4 обычного int'а (они там угл всунули в 0-255 вроде как)
чтобы достать конкретные значения для определённого канала или вытаскивай байты или исправляй вот эти строчки в коде функций
...
Return (R Shl 16) Or (G Shl 8) Or B; Or $FF000000
...
HSL=(hv Shl 16) Or (sv Shl 8) Or lv; Or $FF000000
...
в них 3 байта запаковываются в один int
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо за это полезное сообщение:
ABTOMAT (13.06.2009), ELIAS (13.06.2009)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Модификатор Slice с помощью Блитц WaReZ_MEN 3D-программирование 23 18.01.2009 20:52
Заливка фигуры цветом ??? bms2008 Основной форум 1 15.12.2008 17:09
Создание уровней 2D с помощью DATA Petrofan 2D-программирование 8 23.10.2008 13:01
Как компилить либы с помощью WTK??? kolyacher Прочие вопросы 4 03.11.2007 11:19
Работа с цветом MiXaeL Полезные функции 4 24.09.2006 19:38


Часовой пояс GMT +4, время: 15:53.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com