Saving a Picture to a File

From RAD Studio
Jump to: navigation, search

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