уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.
Формат кодов цвета в HTML
Цветовой код в HTML состоит из символа «#» (решетка) и шести букв или цифр. При этом используется шестнадцатеричная система счисления. Например, «FF» в шестнадцатеричной системе соответствует 255 в десятеричной, «7B» — 123 и так далее. Расшифровывается код следующим образом:
- Первые два символа (после символа решетки) — насыщенность красного цвета (00 — наименее насыщенный и FF — наиболее насыщенный)
- Третий и четвертый символы означают насыщенность зеленого
- Пятый и шестой — синего.
Таким образом, для того, чтобы перевести код цвета из HTML в TColor достаточно выполнить следующие — проверить наличие символа # во входной строке и, при необходимости — состав строки (не более шести символов, наличие только букв A, B, C, D, E и F и цифр и т.д.) и воспользоваться следующим методов Delphi:
function HtmlToColor(s:string; aDefault:Tcolor):TColor; begin //Преобразование строки вида «#FCAB1E» в TColor if copy(s,1,1)='#' then s:='$'+copy(s,6,2)+copy(s,4,2)+copy(s,2,2) else s:='clNone'; try result:=StringToColor(s); except result:=aDefault; end; end;
Справедливо и обратное преобразование:
function ColorToHtml(DColor:TColor):string; //Обратное преобразование TColor в строку вида «#FCAB1E» var tmpRGB : TColorRef; begin tmpRGB := ColorToRGB(DColor) ; Result:=Format('#%.2x%.2x%.2x', [GetRValue(tmpRGB), GetGValue(tmpRGB), GetBValue(tmpRGB)]) ; end;
уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.