Ну для начала простой вопрос:
Как получить из TColor отдельные компоненты, чтобы везде работало?
В WinAPI есть макросы GetRValue и т.п., а так же RGB для обратной сборки. А что использовать FPC/Lazarus (желательно чистый FPC без LCL)?
PS: модуль windows не подходит, ибо только под вынь
Платформно-независимая работа с графикой
Модератор: Модераторы
- shade
- энтузиаст
- Сообщения: 879
- Зарегистрирован: 21.02.2006 19:15:48
- Откуда: http://shamangrad.net/
- Контактная информация:
- Sergei I. Gorelkin
- энтузиаст
- Сообщения: 1409
- Зарегистрирован: 24.07.2005 14:40:41
- Откуда: Зеленоград
Хороший вопрос
Получать можно как заблагорассудится, вопрос в том, чтобы платформа умела рисовать в данном формате. В той же самой Windows в таблице цветов DIB цветовые компоненты должны идти в одном порядке, а в TPaletteEntry - строго наоборот.
В FCL есть компонент TFPImage, претендующий на звание "платформенно-независимой графики". В нем есть свой TFPColor и чертова тонна кода, преобразующего его во все (или почти все) встречающиеся в природе форматы. Графика Lazarus построена на основе FPImage, при этом народ явно не разобрался с возможностями FPImage по доступу к памяти картинок и написал собственный TLazIntfImage, опять же преобразующий форматы... Термин "братская могила" для всего этого подходит гораздо лучше.
Получать можно как заблагорассудится, вопрос в том, чтобы платформа умела рисовать в данном формате. В той же самой Windows в таблице цветов DIB цветовые компоненты должны идти в одном порядке, а в TPaletteEntry - строго наоборот.
В FCL есть компонент TFPImage, претендующий на звание "платформенно-независимой графики". В нем есть свой TFPColor и чертова тонна кода, преобразующего его во все (или почти все) встречающиеся в природе форматы. Графика Lazarus построена на основе FPImage, при этом народ явно не разобрался с возможностями FPImage по доступу к памяти картинок и написал собственный TLazIntfImage, опять же преобразующий форматы... Термин "братская могила" для всего этого подходит гораздо лучше.
- shade
- энтузиаст
- Сообщения: 879
- Зарегистрирован: 21.02.2006 19:15:48
- Откуда: http://shamangrad.net/
- Контактная информация:
-
dyavolenok_shef
- новенький
- Сообщения: 17
- Зарегистрирован: 31.07.2008 10:27:47
В Делфе можно было через random задавать различные цвета компонентам все лишь написав вот так: RGB(random(256),random(256),random(256)) ...
а как тут делать это мне надо задать разный цвет в ТЧаре, чтобы столбики были разными.
ПОДСКАЖИТЕ ПЛИз
а как тут делать это мне надо задать разный цвет в ТЧаре, чтобы столбики были разными.
ПОДСКАЖИТЕ ПЛИз
-
Павел Ишенин
- постоялец
- Сообщения: 475
- Зарегистрирован: 24.03.2007 09:16:52
RGB, GetRValue, GetGValue, GetBValue доступны при использовании LCLIntf. В чем проблема?
-
Павел Ишенин
- постоялец
- Сообщения: 475
- Зарегистрирован: 24.03.2007 09:16:52
Что значит целую либу? LCLIntf - обычный модуль используемый в большинстве других и он точно при компиляции обычного приложения с формой будет использован.
