{ **** UBPFD *********** by delphibase.endimus.com ****
>>
Функция преобразует значение типа TColor в шестнадцатиричное значение цвета
в формате string с заменой порядка следования цветовых компонентов на
противоположный (из BGR в RGB). Порядок RGB используется, например в HTML.
Корректно работает с константами системных цветов.
Зависимости: SysUtils, Windows, Graphics
Автор: lipskiy, Fenik, lipskiy@mail.ru, ICQ:51219290, Санкт-Петербург
Copyright: Собственное написание (lipskiy)
Дата: 20 апреля 2002 г.
***************************************************** }function ColorToHTMLHexColor(Color: TColor): string;
begin
result := IntToHex(GetRValue(ColorToRGB(Color)), 2) +
IntToHex(GetGValue(ColorToRGB(Color)), 2) +
IntToHex(GetBValue(ColorToRGB(Color)), 2);
end;
Перевод контента на русский язык:
Функция Delphi, именуемая ColorToHTMLHexColor, конвертирует значение типа TColor в строку hexadecimal HTML-цвета. Конвертация включает в себя несколько шагов:
Переключение значения TColor в RGB (Красный, Зеленый, Синий) с помощью функции ColorToRGB.
Извлечение отдельных компонентов цвета (R, G, B) с помощью функций GetRValue, GetGValue и GetBValue.
Переключение каждого компонента в строку hexadecimal с помощью функции IntToHex.
Конкатенация трех строк hexadecimal вместе для формирования окончательной строки HTML-цвета.
Вот разбивка кода:
functionColorToHTMLHexColor(Color:TColor):string;beginresult:=IntToHex(GetRValue(ColorToRGB(Color)),2)+// Переключение R-значения в hexIntToHex(GetGValue(ColorToRGB(Color)),2)+// Переключение G-значения в hexIntToHex(GetBValue(ColorToRGB(Color)),2);// Переключение B-значения в hexend;
Функция IntToHex используется для переключения целочисленного значения в строку hexadecimal. Второй аргумент (2) specifies минимальную длину полученной строки hexadecimal.
Код работает корректно с системными константами цвета и может быть полезен для конвертации значений TColor в строки HTML-цвета в приложениях Delphi.
В этом альтернативном решении функция Format используется для конкатенации трех компонентов цвета в одну строку. Форматный указатель %02X используется для переключения каждого компонента в строку hexadecimal с двумя цифрами, если необходимо. Это достижение того же результата, что и оригинальный код, но может быть более компактным и читаемым для некоторых разработчиков.
Функция ColorToHTMLHexColor преобразует значение типа TColor в шестнадцатиричное значение цвета в формате string, выполняя обратную замену порядка следования цветовых компонентов от BGR до RGB.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS