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.

Exception Condition

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 PaintEventArgse, 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
Available since 1.1
Return to top