Hallo,
mit deinem Code lädst du das Bild, und zeichnest es dann auf den Canvas der Paintbox und dann färbst du einige Bereiche auf dem Canvas der Paintbox ein.
Deine Bilddatei wird dadurch jedoch nicht geändert. Hier ist ein wenig Code, wie du deine gezeichneten Bereiche in die Bilddatei speicherst.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
Bitmap1: TBitmap;
begin
Bitmap1 := TBitmap.Create;
try
Bitmap1.LoadFromFile('DeutschUmriss.bmp');
Bitmap1.Canvas.CopyRect(Rect(0, 0, Bitmap1.Width, Bitmap1.Height), PaintBox1.Canvas, Rect(0, 0, Bitmap1.Width, Bitmap1.Height));
Bitmap1.SaveToFile('DeutschUmriss.bmp');//wird jetzt überschrieben!
finally
Bitmap1.Free;
end;
end;
Wenn du Canvas deiner Paintbox ausdrucken möchtest, dann müsste es etwa so aussehen: (allerdings nicht getestet)
Delphi-Quellcode:
uses printers;
procedure TForm1.Button2Click(Sender: TObject);
var
Bitmap1: TBitmap;
begin
Bitmap1 := TBitmap.Create;
try//oder du druckst den Bitmap1.Canvas aus(dann Code anpassen)
Bitmap1.LoadFromFile('DeutschUmriss.bmp');//breite und höhe feststellen
Printer.BeginDoc;
Printer.Canvas.CopyRect(Rect(0, 0, Bitmap1.Width, Bitmap1.Height), PaintBox1.Canvas, Rect(0, 0, Bitmap1.Width, Bitmap1.Height));
Printer.EndDoc;
finally
Bitmap1.Free;
end;
end;