Image::Save Method (String^, ImageFormat^)

 

Saves this Image to the specified file in the specified format.

Namespace:   System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)

public:
void Save(
	String^ filename,
	ImageFormat^ format
)

Parameters

filename
Type: System::String^

A string that contains the name of the file to which to save this Image.

format
Type: System.Drawing.Imaging::ImageFormat^

The ImageFormat for this Image.

Exception Condition
ArgumentNullException

filename or format is null.

ExternalException

The image was saved with the wrong image format.

-or-

The image was saved to the same file it was created from.

The following code example demonstrates how to construct a bitmap from a type, and how to use the Save method. To run this example, paste the code into a Windows Form. Handle the form’s Paint event, and call the ConstructFromResourceSaveAsGif method, passing e as PaintEventArgs

private:
    void ConstructFromResourceSaveAsGif(PaintEventArgs^ e)
    {
        // Construct a bitmap from the button image resource.
        Bitmap^ bmp1 = gcnew Bitmap(Button::typeid, "Button.bmp");
        String^ savePath =  
            Environment::GetEnvironmentVariable("TEMP") + "\\Button.bmp";

        try
        {
            // Save the image as a GIF.
            bmp1->Save(savePath, System::Drawing::Imaging::ImageFormat::Gif);
        }
        catch (IOException^)
        {
            // Carry on regardless
        }

        // Construct a new image from the GIF file.
        Bitmap^ bmp2 = nullptr;
        if (File::Exists(savePath))
        {
            bmp2 = gcnew Bitmap(savePath);
        }

        // Draw the two images.
        e->Graphics->DrawImage(bmp1, Point(10, 10));

        // If bmp1 did not save to disk, bmp2 may be null
        if (bmp2 != nullptr)
        {
            e->Graphics->DrawImage(bmp2, Point(10, 40));
        }

        // Dispose of the image files.
        delete bmp1;
        if (bmp2 != nullptr)
        {
            delete bmp2;
        }
    }

.NET Framework
Available since 1.1
Return to top
Show: