Saving a Picture to a File
Go Up to Loading and Saving Graphics Files
The picture object can load and save graphics in several formats, and you can create and register your own graphic-file formats so that picture objects can load and store them as well.
To save the contents of an image control in a file, call the SaveToFile method of the image control's Picture object.
The SaveToFile method requires the name of a file in which to save. If the picture is newly created, it might not have a file name, or a user might want to save an existing picture in a different file. In either case, the application needs to get a file name from the user before saving, as shown in the next topic.
The following pair of event handlers, attached to the File > Save and File > Save As menu items, respectively, handle the resaving of named files, saving of unnamed files, and saving existing files under new names.
procedure TForm1.Save1Click(Sender: TObject);
begin
if CurrentFile <> '' then
Image.Picture.SaveToFile(CurrentFile) { save if already named }
else
SaveAs1Click(Sender); { otherwise get a name }
end;
procedure TForm1.SaveAs1Click(Sender: TObject);
begin
if SaveDialog1.Execute then { get a file name }
begin
CurrentFile := SaveDialog1.FileName; { save the user-specified name }
Save1Click(Sender); { then save normally }
end;
end;
void __fastcall TForm1::Save1Click(TObject *Sender) {
if (!CurrentFile.IsEmpty())
Image->Picture->SaveToFile(CurrentFile); // save if already named
else
SaveAs1Click(Sender); // otherwise get a name
}
void __fastcall TForm1::SaveAs1Click(TObject *Sender) {
if (SaveDialog1->Execute()) // get a file name
{
CurrentFile = SaveDialog1->FileName; // save user-specified name
Save1Click(Sender); // then save normally
}
}