Export (0) Print
Expand All

Graphics.FromImage Method

Creates a new Graphics from the specified Image.

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

public static Graphics FromImage(
	Image image
)

Parameters

image
Type: System.Drawing.Image

Image from which to create the new Graphics.

Return Value

Type: System.Drawing.Graphics
This method returns a new Graphics for the specified Image.

ExceptionCondition
ArgumentNullException

image is null.

Exception

image has an indexed pixel format or its format is undefined.

If the image has an indexed pixel format, this method throws an exception with the message, "A Graphics object cannot be created from an image that has an indexed pixel format." The indexed pixel formats are shown in the following list.

You can save the indexed image as another format by using the Save(String, ImageFormat) method and then retrieve a Graphics object for the new image.

This method also throws an exception if the image has any of the following pixel formats.

You should always call the Dispose method to release the Graphics and related resources created by the FromImage method.

The following code example is designed for use with Windows Forms, and it requires PaintEventArgs e, which is a parameter of the Paint event handler. The code performs the following action:

  • Creates an Image from a graphics file SampImag.jpg in the example folder.

  • Creates a Graphics from the Image.

  • Alters the image by filling a rectangle within it.

  • Draws the Image to the screen.

  • Releases the created Graphics.

private void FromImageImage(PaintEventArgs e)
{

    // Create image.
    Image imageFile = Image.FromFile("SampImag.jpg");

    // Create graphics object for alteration.
    Graphics newGraphics = Graphics.FromImage(imageFile);

    // Alter image.
    newGraphics.FillRectangle(new SolidBrush(Color.Black), 100, 50, 100, 100);

    // Draw image to screen.
    e.Graphics.DrawImage(imageFile, new PointF(0.0F, 0.0F));

    // Dispose of graphics object.
    newGraphics.Dispose();
}

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft