Thema: Delphi High Color --> TrueColor

Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

Re: High Color --> TrueColor

  Alt 19. Feb 2008, 15:35
Zitat von shmia:
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
Naja ich glaube nicht das das richtig ist.

Delphi-Quellcode:
// RRRRRGGGGGGBBBBB
// 00000000RRRRR000 => 8 nach rechts
Result.rgbRed := (AColor and $F800) shr 8;
Wenn RRRRR = 11111 dann wäre der Rot-Farbanteil 100%. 31/31

RRRRR000 11111000. das wäre 248/255 (97,25%)
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat