Hi Leute,
ich habe auf meiner Form ein Image-Objekt mit einem Bild, dass der User hineingeladen hat. In FormCreate wird bereits ein Objekt der Klasse "TBildbearbeiter" erstellt. Dieses Objekt besitzt den Dienst "SchwarzWeissBild". Diesem Dienst soll nun das Bild übergeben werden. Er macht ein Schwarzweißbild daraus und gibt das Bild zurück. Ich hatte es also so versucht:
Delphi-Quellcode:
//in der Klasse TBildbearbeiter
function SchwarzWeissBild(pBild: TCanvas):TCanvas;
begin
//Das Bild wird verändert
end;
//In der Klasse TForm
//...
Bildbearbeiter:= TBildbearbeiter.Init;
Image1.Canvas := Bildbearbeiter.SChwarzWeissBild(Image1.Canvas);
//...
Dann bekomm ich den Fehler "Einer Nur-Lesen-Eigenschaft kann kein Wert zugewiesen werden."
Dann hab ich versucht das Bild per Hand zu kopieren, hat aber nicht hingehauen, er hat einfach das Bild unverändert angezeigt, hab es mit folgendem Beispiel versucht:
Delphi-Quellcode:
var x,y : integer;
bild : TCanvas;
begin
bild := Image1.Canvas;
bild.floodfill(1,1,clblue,fsborder);
for x:= 0 to Image1.wisth-1 do
for y:= 0 to Image1.Height-1 do
Image1.Canvas.Pixels[x,y] := Bild.Pixels[x,y];
end;
Eigentlich sollte das weiße eingefügte Bild danach doch blau sein, oder? Auf jeden Fall zeigt er das weiße Bild im Original wieder genau so an.
Was mach ich falsch