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.