Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Image и RGB

249
25 мая 2005 года
DissDoc
639 / / 01.10.2004
Есть билдеровский Image. Работаю с Canvas. Есть 3 едита, в которых задаю параметры RGB. Нужно как-то из RGB в Color (как я понимаю) сконвертить! Как это реализовать?
10
25 мая 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by DissDoc
Нужно как-то из RGB в Color (как я понимаю) сконвертить!


Хелп тебе в помощь! Где-то в недрах VCL описаны функции RGBToColor и ColorToRGB.

249
25 мая 2005 года
DissDoc
639 / / 01.10.2004
Цитата:
Originally posted by Freeman
Хелп тебе в помощь! Где-то в недрах VCL описаны функции RGBToColor и ColorToRGB.


Да! В этом-то и проблема! Я не глупый и в начале в хелпе лазал! =)))
Там есть ColorToRGB, а вот RGBToColor функции НЕ СУЩЕСТВУЕТ. Доказано МНОЙ!

488
25 мая 2005 года
Mоngооsе
465 / / 01.04.2005
RGB(...)

Описание Help->Windows SDK
249
25 мая 2005 года
DissDoc
639 / / 01.10.2004
Цитата:
Originally posted by Mоngооsе
RGB(...)

Описание Help->Windows SDK


RGB(r, g, b) - структуру я эту знаю... мне КОНКРЕТНАЯ проблема волнует!

249
25 мая 2005 года
DissDoc
639 / / 01.10.2004
Цитата:
Originally posted by DissDoc
RGB(r, g, b) - структуру я эту знаю... мне КОНКРЕТНАЯ проблема волнует!


Я вот что подумал... В канве ведь в 16ричной системе передается параметры (т.е. для не знающих пример - $000000FF - красный). Может из Edit'ов выдрать занчения и как бы "соединить" их в одно значение?

488
25 мая 2005 года
Mоngооsе
465 / / 01.04.2005
Цитата:
Originally posted by DissDoc
RGB(r, g, b) - структуру я эту знаю... мне КОНКРЕТНАЯ проблема волнует!

Это не структура, а макрос.
Можно конечнго вручную

Canvas->Color = iRed + (iGreen<<8) + (iBlue<<16);

iGreen сдвигается на 8 битов влево.

376
25 мая 2005 года
Absolut
220 / / 22.11.2002
Из описания типа TColor :
---
If you specify TColor as a specific 4-byte hexadecimal number instead of using the constants defined in the Graphics unit, the low three bytes represent RGB color intensities for blue, green, and red, respectively. The value 0x00FF0000 represents full-intensity, pure blue, 0x0000FF00 is pure green, and 0x000000FF is pure red. 0x00000000 is black and 0x00FFFFFF is white.
---

1. Обнуляешь TColor.
2. Добавляешь Blue компоненту. Сдвигаешь на байт влево.
3. Добавляешь Green компоненту. Сдвигаешь на байт влево.
4. Добавляешь Red компоненту.
5. Имеешь то, что надо ;-)
10
25 мая 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Absolut
1. Обнуляешь TColor.
2. Добавляешь Blue компоненту. Сдвигаешь на байт влево.
3. Добавляешь Green компоненту. Сдвигаешь на байт влево.
4. Добавляешь Red компоненту. Сдвигаешь на байт влево.
5. Имеешь то, что надо ;-)


Гм. A макрос RGB делает не то же самое?

249
25 мая 2005 года
DissDoc
639 / / 01.10.2004
Цитата:
Originally posted by Absolut
Из описания типа TColor :
---
If you specify TColor as a specific 4-byte hexadecimal number instead of using the constants defined in the Graphics unit, the low three bytes represent RGB color intensities for blue, green, and red, respectively. The value 0x00FF0000 represents full-intensity, pure blue, 0x0000FF00 is pure green, and 0x000000FF is pure red. 0x00000000 is black and 0x00FFFFFF is white.
---

1. Обнуляешь TColor.
2. Добавляешь Blue компоненту. Сдвигаешь на байт влево.
3. Добавляешь Green компоненту. Сдвигаешь на байт влево.
4. Добавляешь Red компоненту. Сдвигаешь на байт влево.
5. Имеешь то, что надо ;-)



ОО! По идее то что надо! Спасибо Mongoose'у тоже!!!
а вот iRed как я понимаю тип long? Да?

488
25 мая 2005 года
Mоngооsе
465 / / 01.04.2005
Цитата:
Originally posted by DissDoc
ОО! По идее то что надо! Спасибо Mongoose'у тоже!!!
а вот iRed как я понимаю тип long? Да?

iRed может быть байт, он никуда не сдвигается.
iGreen хотя бы short
iBlue int

249
25 мая 2005 года
DissDoc
639 / / 01.10.2004
Цитата:
Originally posted by DissDoc
ОО! По идее то что надо! Спасибо Mongoose'у тоже!!!
а вот iRed как я понимаю тип long? Да?


нее, это INT! Всем спасибо за внимание! Помогло!

376
25 мая 2005 года
Absolut
220 / / 22.11.2002
Цитата:
Originally posted by Freeman
Гм. A макрос RGB делает не то же самое?



То же, но у меня по пунктам ;-)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог