Avatar billede r.hegaard Nybegynder
22. februar 2004 - 19:36 Der er 6 kommentarer og
1 løsning

Farvekoder i Delphi

Hvordan kan man omregne mellem de farvekoder som Delphi bruger, og så f.eks. html farvekoder ??
Avatar billede athlon-pascal Juniormester
22. februar 2004 - 19:40 #1
Lidt kode jeg har liggnede:

function ColorToHTMLColor(cl: TColor): string;
var
  rgbColor: TColorRef;
begin
  rgbColor := ColorToRGB(cl);
  Result := '#' + Format('%.2x%.2x%.2x',
                        [GetRValue(rgbColor),
                        GetGValue(rgbColor),
                        GetBValue(rgbColor)]);
end;

function IsHtmlColorOK(st: String): Boolean;
var
  I: Integer;
begin
  Result := Length(st) = 7;
  if Result then
    Result := st[1] = '#';
  if Result then
    for I := 2 to Length(st) do
      if Result then
        Result := st[I] in ['0'..'9', 'A'..'F'];
end;

function HTMLColorToColor(st: String): TColor;
var
  Red, Green, Blue: Byte;
begin
  if not IsHtmlColorOK(st) then
  begin
    Result := clNone;
    Exit;
  end;
  Delete(st, 1, 1);
  Red := StrToInt('$' + Copy(st, 1, 2));
  Green := StrToInt('$' + Copy(st, 3, 2));
  Blue := StrToInt('$' + Copy(st, 5, 2));
  Result := RGB(Red, Green, Blue);
end;
Avatar billede r.hegaard Nybegynder
22. februar 2004 - 19:45 #2
Tak for det
Avatar billede r.hegaard Nybegynder
22. februar 2004 - 19:52 #3
Kan du også forklare en sammenhæng ?? Hvad fortæller Delphi farvekoderne ??
Avatar billede athlon-pascal Juniormester
22. februar 2004 - 20:01 #4
Limegrøn i Delphi: $0000FF80
Limegrøn i HTML: #80FF00

I begge systemer er farven skrevet med det hexadecimale talsystem.
I HTML er rækkefølgen Rød-Grøn-Blå, altså RRGGBB.
I Delphi er der byttet lidt rundt på det, der er rækkefølgen Blå-Grøn-Rød, altså BBGGRR.

Tegnet "$" betyder i Delphi, at det er et hexadecimalt tal.
Avatar billede r.hegaard Nybegynder
22. februar 2004 - 20:06 #5
OK, hvad så med de to første tal? $??BBGGRR
Avatar billede athlon-pascal Juniormester
22. februar 2004 - 20:08 #6
De betyder normalt ikke noget, og hvis de endelig gør, så kan jeg ikke lige huske hvad.
Avatar billede r.hegaard Nybegynder
22. februar 2004 - 20:11 #7
ok, tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester