Egy szín HTML értékének képzése hasonló a szín hexadecimális értékéhez. 
Az egyik eltérés az, hogy az érték nem dollár ($), hanem kettős kereszt (#) jellel kezdődik.
A másik különbség pedig az, hogy a vörös és a kék byte helyek felcserélődnek. 
(#FF0000 = vörös, #00FF00 = zöld, #0000FF = kék)

A lenti egyszerű példa egy üzenetablakban megjeleníti a színválasztó 
párbeszédablakban (TColorDialog) kiválasztott szín HTML értékét. 
A GetRValue, GetGValue és a GetBValue WinAPI függvények segítségével megkapjuk a 
színt alkotó alapszínek (vörös, zöld, kék) intenzitását, majd a Format() 
formázó függvénnyel összerakjuk a HTML színértékek képzésének szabályai szerint így megkapott értékeket.
{ . . . }
type
     TForm1 = class(TForm)
     Button1: TButton;
     ColorDialog1: TColorDialog;
     procedure Button1Click(Sender: TObject);
   private
     { Private declarations }
     function HTMLColorValue(AColor:TColor):String;
   public
     { Public declarations }
   end;
var
   Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
   tmpColor : TColor;
begin
   {A ColorDialog meghívása}
   if ColorDialog1.Execute then
     begin
       {A kiválasztott szín}
       tmpColor := ColorDialog1.Color;
       {A szín átalakítása és megjelenítése}
       ShowMessage(HTMLColorValue(tmpColor));
     end;
end;

function TForm1.HTMLColorValue(AColor:TColor):String;
var
   Red, Blue, Green : Integer;
begin
   {A vörös szín intenzitása}
   Red := GetRValue(AColor);
   {A kék szín intenzitása}
   Blue := GetBValue(AColor);
   {A zöld szín intenzitása}
   Green := GetGValue(AColor);
   {A szín átalakítása HTML formátumra}
   Result := Format('#%2.2x%2.2x%2.2x', [Red,Green,Blue]);
end;
{ . . . }