Avatar billede tknudsen Nybegynder
08. september 2000 - 10:00 Der er 3 kommentarer og
1 løsning

clColor til RGB værdier

Findes der i delphi en funktion som tager TColor som parameter og returnere værdierne for R,G og B som bytes ?
Avatar billede borrisholt Novice
08. september 2000 - 10:04 #1
Hej  TKnudsen

Du kan bruge de følgende funktioner til at skilde / samle en TColor af :

Function RGB(r, g ,b : byte) : TColor;
asm
  and eax, $ff
  and edx, $ff
  shl edx, $08
  or eax, edx
  xor edx,edx
  mov dl,cl
  shl edx,$10
  or eax,edx
end;

Function GetRed(Color : TColor) : Byte;
asm
  lea eax, [eax]
end;

Function GetGreen(Color : TColor) : Byte;
asm
  shr eax, $8
end;

Function GetBlue(Color : TColor) : Byte;
asm
  shr eax, $10
end;

Jens B
Avatar billede snowball Novice
08. september 2000 - 10:38 #2
Ellers så kunne du prøve med ColorToRGB(TColor) : longint

Hvis du vil ha\' resutaltet i HEX, så kan du kovertere resultatet fra ColorToRGB med IntToHex, f.eks: HexToInt(ColorToRGB(clRed),6) = 0000FF

Snowball
Avatar billede tknudsen Nybegynder
08. september 2000 - 10:41 #3
snowball>> lige præcis hvad jeg har brug for :-) især det med at konvertere resultatet fra ColorToRGB til Hex (som jo bliver til en streng)

thnx
Avatar billede borrisholt Novice
08. september 2000 - 10:42 #4
hvis du jævnfører diskutionen fra http://www.eksperten.dk/spm/24141 vil du opdage at ColorToRGB ikke er nok ..

Jens B
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