Entwickler-Ecke

Multimedia / Grafik - PixelFarbe auslesen


kingsize61 - Fr 26.09.03 08:42
Titel: PixelFarbe auslesen
Hallo zusammen,

ich habe eine Bitmap, wo ich die Farben so manipuliren möchte. das der Laserdrucker nicht zu viel Toner braucht. (dunkle Farbe heller machen).
Die Pixelfarbe lese ich mit canvas.pixels[x,y] aus und schreibe dann eine neue Farbe hinein.
Jetzt mein Problem: Wenn ich die Farbe innerhalb einer Schleife auslese,
kommt irgendwann der Rückgabewert eine '-1':

for y:=0 to Bmap.Height -1 do
for x:=0 to Bmap.Width -1 do
Pixelcolor[x,y]:=Bmap.Canvas.Pixels[x,y];


Setze ich eine kleine Zeitschleife beim auslesen klappt die Sache wesentlicher besser.

for y:=0 to Bmap.Height -1 do
for x:=0 to Bmap.Width -1 do
begin
Pixelcolor[x,y]:=Bmap.Canvas.Pixels[x,y];
wait(20);
end;


Ist der Rechner zu schnell?
Gibt es andere Möglichkeiten bestimmte Farben auszutauschen?

Schon mal Danke im voraus,
Wigbert


Eggi - Fr 26.09.03 09:23

Hallo

Schau dir am besten mal folgenden Thread hier im Forum an:

http://www.delphi-forum.de/viewtopic.php?t=15259&highlight=

mfg Eggi


kingsize61 - Fr 26.09.03 11:37
Titel: Probleme vom Auslesen im Thread
Das ändern der Farbe isteigentlich soweit klar. Schwierigkeiten gibt es beim Lesen der Pixelfarbe.
Aber der Fehler scheint daran zu liegen, das ich das Auslesen in eine Thread mache. Wenn ich es im Hauptthread mache ist es ok.

Werde weiter forschen.

Wigbert