Thema: Delphi High Color --> TrueColor

Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: High Color --> TrueColor

  Alt 19. Feb 2008, 15:30
Man man einfach mit "and" die relevanten Bits ausschneidet und dann gleich richtig shiftet,
braucht man nicht mehr multiplizieren:
Delphi-Quellcode:
function HighColorToTrueColor(AColor: Word): TRGBQuad;
begin
  // RRRRRGGGGGGBBBBB
  // 00000000RRRRR000 => 8 nach rechts
  Result.rgbRed := (AColor and $F800) shr 8;

  // RRRRRGGGGGGBBBBB
  // 00000000GGGGGG00 => 3 nach rechts
  Result.rgbGreen := (AColor and $07E0) shr 3;

  // RRRRRGGGGGGBBBBB
  // 00000000BBBBB000 => 3 nach links
  Result.rgbBlue := (AColor and $001F) shl 3;
end;
PS: Bitte ausprobieren, ob das so richtig ist und dann in die Code-Library
Andreas
  Mit Zitat antworten Zitat