Текущий архив: 2009.11.01;
Скачать: CL | DM;
Вниз
Цвета Найти похожие ветки
← →
Achpile (2009-09-04 22:38) [0]Люди, подскажите, плз, как можно разбить цвет типа TColor на RGB составляющие, чтоб перевести его в DWORD (TD3DColor)?
← →
Kolan © (2009-09-04 22:45) [1]TColor — это число.
← →
Kolan © (2009-09-04 22:46) [2]А так — GetR, GetG, GetB по моему. Из Graphics.
← →
Anatoly Podgoretsky © (2009-09-04 22:57) [3]> Achpile (04.09.2009 22:38:00) [0]
ColorToRGB а затем любым путем выделить составляющие, например предложеным GetX
← →
Омлет (2009-09-05 00:59) [4]Вроде так:
type
TRGBX = packed record
R, G, B, X: Byte;
end;
function ContrastColor(AColor: TColor): TD3DColor;
begin
with TRGBX(ColortoRGB(AColor)) do
Result := (X shl 24) or (R shl 16) or (G shl 8) or B;
end;
← →
Омлет (2009-09-05 01:01) [5]Э.. название только поменяй на Color2D3DColor, я забыл )
← →
Омлет (2009-09-05 01:09) [6]> (X shl 24)
Это тоже можно убрать.. В TColor этот байт не задействован.
type
TRGBX = packed record
R, G, B, X: Byte;
end;
function Color2D3DColor(AColor: TColor): TD3DColor;
begin
with TRGBX(ColortoRGB(AColor)) do
Result := (R shl 16) or (G shl 8) or B;
end;
← →
antonn © (2009-09-05 02:06) [7]
> Kolan © (04.09.09 22:46) [2]
>
> А так — GetR, GetG, GetB по моему. Из Graphics.
GetRValue(), GetGValue() и GetBValue()
← →
Германн © (2009-09-05 02:33) [8]А что есть TD3DColor?
← →
KilkennyCat © (2009-09-05 03:28) [9]таж фигня, только из DirectX
http://msdn.microsoft.com/en-us/library/bb172518%28VS.85%29.aspx
← →
Achpile (2009-09-05 06:52) [10]Спасибо вам всем огромное =)
← →
Anatoly Podgoretsky © (2009-09-05 09:19) [11]> KilkennyCat (05.09.2009 03:28:09) [9]
А согласно этому это никакое не RGB, а множество форматов.
← →
Anatoly Podgoretsky © (2009-09-05 09:21) [12]Сообственно это означает написание некоторого количества функции, по одной на формат, вместо макросов и подавать на вход нужной ColorToRGB
Страницы: 1 вся ветка
Текущий архив: 2009.11.01;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.01 c