da paintbox kein savetofile besitzt wirst wohl oder übel über TBitMap speichern müssen und das machst du dann so:
ins private kommt das
Bild: TBitmap; //deklaration der variable Bild vom type TBitmap
in die OnCreate-procedure der Form kommt das hier
Delphi-Quellcode:
Bild:=TBitmap.Create; //Bitmap in den Speicher Laden
Bild.Height:=PaintBox1.Height; //höhe
Bild.Width:=Paintbox1.Width; //Breite der Bitmap festlegen
//kannst evtl. noch hier die qualität festlegen
und dann wenn du speichern willst kommt das z.B. in die OnClick-procedure eines Buttons
Delphi-Quellcode:
BitBlt(Bild.Canvas.Handle, 0, 0, PaintBox1.Width, PaintBox1.Height,
PaintBox1.Canvas.Handle, 0, 0, SRCCOPY); //um von paintbox in Bitmapt/Bild zu zeichnen
if SaveDialog1.Execute then
Bild.Savetofile(SaveDialog1.Filename) //speichern
else
exit; //sonst verlassen des SaveDialogs
so das wäre das reine speichern von einer Paintbox per Bitmap
natürlich musst du noch die funktionen um auf die Paintbox zu zeichnen noch selbst reinschreiben.
wenn die Paintbox dann bemalt ist und du speicherst sollte deine gespeicherte bitmap auch das enthalten was die Paintbox enthielt.