Bitmap in schwarz/weiß umwandeln |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
Um beispielsweise ein Bild auf einem graphischen LCD Display anzeigen zu können, müssen die Pixel entweder schwarz oder weiß sein, damit das Bild vom Display angezeigt werden kann. Folgende Funktion wandelt ein Bitmap dem entsprechend um:
TRGBTripleArray = array[0..32768] of TRGBTriple;
procedure BlackWhiteImage(const Bitmap: TBitmap; const Toleranz: Integer);
var
i,j: Integer;
Reihe: ^TRGBTriple;
begin
for i:= 0 to Bitmap.Height-1 do
begin
Reihe:= Bitmap.Scanline[i];
for j:= 0 to Bitmap.Width-1 do
begin
if (Reihe^.rgbtred + Reihe^.rgbtBlue + Reihe^.rgbtgreen)div 3> Toleranz then
begin
Reihe^.rgbtred := 255;
Reihe^.rgbtBlue := 255;
Reihe^.rgbtgreen := 255;
end
else
begin
Reihe^.rgbtred := 0;
Reihe^.rgbtBlue := 0;
Reihe^.rgbtgreen := 0;
end;
inc(Reihe);
end;
end;
bitmap.Assign(Bitmap);
end;
Über den Parameter 'Toleranz' kann die Routine justiert werden.