Saving a Picture to a File

From RAD Studio

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
	}
}

See Also