Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.056 Beiträge
 
Delphi 12 Athens
 
#2

Re: Farbinformationen von Bitmap auslesen/ändern

  Alt 9. Jan 2004, 02:15
Ein Delphi-BitMap (TBitMap) speichert die Farbwerte nur im RGB-Format ab. (nicht YUV, oder ähnliches)

Code:
BitMap.PixelFormat =
  pf1bit > Bitmap mit einem Bit pro Pixel (Schwarzweiß-Palette)
  pf4bit > Bitmap, das eine Palette mit 16 Farben verwendet
  pf8bit > Bitmap, das eine Palette mit 256 Farben verwendet

  Farbpalette für pf1bit, pf4bit oder pf8bit > 32 Bits pro Farbwert (RGB-Komprimierung)


  pf15bit > True-Color-Bitmap mit 15 Bits pro Pixel (RGB-Komprimierung)
  pf16bit > True-Color-Bitmap mit 16 Bits pro Pixel (Bitfeld-Komprimierung)
  pf24bit > True-Color-Bitmap mit 24 Bits pro Pixel
  pf32bit > True-Color-Bitmap mit 32 Bits pro Pixel (RGB-Komprimierung)
Delphi-Quellcode:
Var X, Y: Integer;
  Rot, Gruen, Blau: Byte
  Farbe: TColor;

{Pixel schreiben}
BitMap.Canvas.Pixels[X, Y] := RGB(Rot, Gruen, Blau);

{Pixel schreiben}
Farbe := Rot or (Gruen shl 8) or (Blau shl 16);
BitMap.Canvas.Pixels[X, Y] := Farbe;

{Pixel lesen}
Farbe := BitMap.Canvas.Pixels[X, Y];
Rot := Farbe and $FF;
Gruen := (Farbe shr 8) and $FF;
Blau := (Farbe shr 16) and $FF;
(Angaben ohne Gewähr)

Bei weiteren Fragen siehe OH.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat