Bitmap.Clone Method (Rectangle, PixelFormat)

Creates a copy of the section of this Bitmap defined by Rectangle structure and with a specified PixelFormat enumeration.

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

public Bitmap Clone(
	Rectangle rect,
	PixelFormat format


Type: System.Drawing.Rectangle

Defines the portion of this Bitmap to copy. Coordinates are relative to this Bitmap.

Type: System.Drawing.Imaging.PixelFormat

The pixel format for the new Bitmap. This must specify a value that begins with Format.

Return Value

Type: System.Drawing.Bitmap
The new Bitmap that this method creates.


rect is outside of the source bitmap bounds.


The height or width of rect is 0.


A PixelFormat value is specified whose name does not start with Format. For example, specifying Gdi will cause an ArgumentException, but Format48bppRgb will not.

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 actions:

  • Creates a Bitmap from a file.

  • Clones a portion of that Bitmap.

  • Draws the cloned portion to the screen.

private void Clone_Example1(PaintEventArgs e)

    // Create a Bitmap object from a file.
    Bitmap myBitmap = new Bitmap("Grapes.jpg");

    // Clone a portion of the Bitmap object.
    Rectangle cloneRect = new Rectangle(0, 0, 100, 100);
    System.Drawing.Imaging.PixelFormat format =
    Bitmap cloneBitmap = myBitmap.Clone(cloneRect, format);

    // Draw the cloned portion of the Bitmap object.
    e.Graphics.DrawImage(cloneBitmap, 0, 0);

.NET Framework

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

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2015 Microsoft