Bu uygulamayla TColor değerini HTML değerine dönüştürebilir, ya da tam tersini yapabilirsiniz.
Kod: Tümünü seç
uses SysUtils, Graphics;
////////////////////////////////////////////////////////////////
// Rengi html renk metnine dönüştür
// clRed => #FF0000
function Sto_ColorToHtml(const Color: TColor): String;
var
iRgb: Longint;
iHtml: Longint;
begin
// Sistem renklerini RGB renklerine dönüştür
iRgb := ColorToRGB(Color);
// BBGGRR değerini, RRGGBB değerine dönüştür
iHtml := ((iRgb and $0000FF) shl 16) or // Kırmızıyı sola kaydır
( iRgb and $00FF00) or // Yeşili ortaya yerleştir
((iRgb and $FF0000) shr 16); // Maviyi sağa yerleştir
// HTML metni oluştur
Result := '#' + IntToHex(iHtml, 6);
end;
////////////////////////////////////////////////////////////////
// HTML metnini bir renge dönüştür,
// EConvertError uygulaması kullanılabilir
// #0000FF -> clBlue
function Sto_HtmlToColor(Color: String): TColor;
var
iHtml: Longint;
begin
// Öndeki karakteri sil '#'
if (Length(Color) > 0) and (Color[1] = '#') then
Delete(Color, 1, 1);
// HTML metnini tam sayıya dönüştür
iHtml := StrToInt('$' + Color);
// RRGGBB karakterini, BBGGRR karakterine dönüştür
Result := ((iHtml and $FF0000) shr 16) or // Kırmızıyı sağa kaydır
( iHtml and $00FF00) or // Yeşili ortaya yerleştir
((iHtml and $0000FF) shl 16); // Maviyi sola kaydır
end;