Тип Delphi TColor
- это целое число, биты которого содержат фактические значения RGB, например:
ssBBGGRR
Извлечение значений RGB:
Вы можете отфильтровать части, выполняя бит AND
с 0xFF
, смещая биты вправо.
Delphi код:
R := Color and $FF;
G := (Color shr 8) and $FF;
B := (Color shr 16) and $FF;
PHP код:
R = Color & 0xFF;
G = (Color >> 8) & 0xFF;
B = (Color >> 16) & 0xFF;
Предупреждение о системных цветах:
Существуют специальные цвета, которые получены из системных цветов. (например, цвета кнопок и окон)
На эти цвета на самом деле не установлены действительные значения RGB. Вы можете обнаружить их, проверив первые восемь бит. Если они ненулевые, у вас есть специальный системный цвет. Вы также можете привести цвет к целому числу. Если оно отрицательное, это системный цвет.
В этом случае деталь R содержит индекс цвета системы.