Ok Leute,
das ist der Qelltext, den ich bis jetzt habe.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
BitMap: TBitMap;
y, x: integer;
P: PByteArray;
begin
BitMap := TBitMap.create;
try
BitMap.LoadFromFile('Datei.bmp');
BitMap.PixelFormat:= pf24Bit;
for y := 0 to BitMap.Height - 1 do
begin
P := BitMap.ScanLine[y];
ProgressBar1.StepIt;
for x := 0 to BitMap.Width - 1 do
begin
P[x] := y;
Caption := inttostr(x) + ' \ ' + inttostr(y) + ' \ ' +
ColorToString(Canvas.Pixels[x, y]) + ' \ ' + inttostr(P[x]);
if (Canvas.Pixels[x, y] = clblack) or (ColorToString(Canvas.Pixels[x,
y]) = '#000000') then
Sleep(1000);
Canvas.Pixels[x, y] := clBlue;
end;
end;
finally
BitMap.Free;
end;
end;
Ich färbe einfach jedes gelesene weiße Pixel in ein blaues Pixel ein.
Womit arbeite ich jetzt im Endeffekt.
Mit ScanLine oder mit Pixel?
Meiner Meinung nach kann ich diesen Vorgang auch mit zwei einfachen Schleifen verwirklichen.
Mit gleicher Performance.
Oder?