Bitmap.Clone メソッド

定義

指定された Bitmap で定義されたこの PixelFormat のセクションのコピーを作成します。Creates a copy of the section of this Bitmap defined with a specified PixelFormat.

オーバーロード

Clone(RectangleF, PixelFormat)

指定された Bitmap 列挙体で定義されたこの PixelFormat のセクションのコピーを作成します。Creates a copy of the section of this Bitmap defined with a specified PixelFormat enumeration.

Clone(Rectangle, PixelFormat)

Bitmap 構造体と、指定された Rectangle 列挙体で定義された、この PixelFormat のセクションのコピーを作成します。Creates a copy of the section of this Bitmap defined by Rectangle structure and with a specified PixelFormat enumeration.

Clone(RectangleF, PixelFormat)

指定された Bitmap 列挙体で定義されたこの PixelFormat のセクションのコピーを作成します。Creates a copy of the section of this Bitmap defined with a specified PixelFormat enumeration.

public:
 System::Drawing::Bitmap ^ Clone(System::Drawing::RectangleF rect, System::Drawing::Imaging::PixelFormat format);
public System.Drawing.Bitmap Clone (System.Drawing.RectangleF rect, System.Drawing.Imaging.PixelFormat format);
override this.Clone : System.Drawing.RectangleF * System.Drawing.Imaging.PixelFormat -> System.Drawing.Bitmap
Public Function Clone (rect As RectangleF, format As PixelFormat) As Bitmap

パラメーター

rect
RectangleF

この Bitmap のコピーする部分を定義します。Defines the portion of this Bitmap to copy.

format
PixelFormat

目的の PixelFormatBitmap 列挙体を指定します。Specifies the PixelFormat enumeration for the destination Bitmap.

戻り値

このメソッドが作成する BitmapThe Bitmap that this method creates.

例外

rect は、ソース ビットマップ境界の外側です。rect is outside of the source bitmap bounds.

rect の高さまたは幅は 0 です。The height or width of rect is 0.

次のコード例は、Windows フォームで使用するように設計されています。また、Paint イベントハンドラーのパラメーターである PaintEventArgseが必要です。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:

  • ファイルから Bitmap を作成します。Creates a Bitmap from a file.

  • Bitmapの一部を複製します。Clones a portion of that Bitmap.

  • 複製された部分を画面に描画します。Draws the cloned portion to the screen.

private:
   void Clone_Example2( PaintEventArgs^ e )
   {
      // Create a Bitmap object from a file.
      Bitmap^ myBitmap = gcnew Bitmap( "Grapes.jpg" );

      // Clone a portion of the Bitmap object.
      RectangleF cloneRect = RectangleF(0,0,100,100);
      System::Drawing::Imaging::PixelFormat format = myBitmap->PixelFormat;
      Bitmap^ cloneBitmap = myBitmap->Clone( cloneRect, format );

      // Draw the cloned portion of the Bitmap object.
      e->Graphics->DrawImage( cloneBitmap, 0, 0 );
   }
private void Clone_Example2(PaintEventArgs e)
{

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

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

    // Draw the cloned portion of the Bitmap object.
    e.Graphics.DrawImage(cloneBitmap, 0, 0);
}
Private Sub Clone_Example2(ByVal e As PaintEventArgs)

    ' Create a Bitmap object from a file.
    Dim myBitmap As New Bitmap("Grapes.jpg")

    ' Clone a portion of the Bitmap object.
    Dim cloneRect As New RectangleF(0, 0, 100, 100)
    Dim format As PixelFormat = myBitmap.PixelFormat
    Dim cloneBitmap As Bitmap = myBitmap.Clone(cloneRect, format)

    ' Draw the cloned portion of the Bitmap object.
    e.Graphics.DrawImage(cloneBitmap, 0, 0)
End Sub

Clone(Rectangle, PixelFormat)

Bitmap 構造体と、指定された Rectangle 列挙体で定義された、この PixelFormat のセクションのコピーを作成します。Creates a copy of the section of this Bitmap defined by Rectangle structure and with a specified PixelFormat enumeration.

public:
 System::Drawing::Bitmap ^ Clone(System::Drawing::Rectangle rect, System::Drawing::Imaging::PixelFormat format);
public System.Drawing.Bitmap Clone (System.Drawing.Rectangle rect, System.Drawing.Imaging.PixelFormat format);
override this.Clone : System.Drawing.Rectangle * System.Drawing.Imaging.PixelFormat -> System.Drawing.Bitmap
Public Function Clone (rect As Rectangle, format As PixelFormat) As Bitmap

パラメーター

rect
Rectangle

この Bitmap のコピーする部分を定義します。Defines the portion of this Bitmap to copy. 座標は、この Bitmap の相対座標です。Coordinates are relative to this Bitmap.

format
PixelFormat

新しい Bitmap のピクセル形式。The pixel format for the new Bitmap. これには、Format で始まる値を指定する必要があります。This must specify a value that begins with Format.

戻り値

このメソッドが作成する新しい Bitmap オブジェクト。The new Bitmap that this method creates.

例外

rect は、ソース ビットマップ境界の外側です。rect is outside of the source bitmap bounds.

rect の高さまたは幅は 0 です。The height or width of rect is 0.

または-or- 名前が PixelFormatFormat* で始まらない * 値が指定されます。A PixelFormat value is specified whose name does not start with Format. たとえば、Gdi を指定すると、ArgumentException が発生しますが、Format48bppRgb を指定した場合は発生しません。For example, specifying Gdi will cause an ArgumentException, but Format48bppRgb will not.

次のコード例は、Windows フォームで使用するように設計されています。また、Paint イベントハンドラーのパラメーターである PaintEventArgseが必要です。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:

  • ファイルから Bitmap を作成します。Creates a Bitmap from a file.

  • Bitmapの一部を複製します。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 = gcnew Bitmap( "Grapes.jpg" );

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

      // Draw the cloned portion of the Bitmap object.
      e->Graphics->DrawImage( cloneBitmap, 0, 0 );
   }
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 =
        myBitmap.PixelFormat;
    Bitmap cloneBitmap = myBitmap.Clone(cloneRect, format);

    // Draw the cloned portion of the Bitmap object.
    e.Graphics.DrawImage(cloneBitmap, 0, 0);
}
Private Sub Clone_Example1(ByVal e As PaintEventArgs)

    ' Create a Bitmap object from a file.
    Dim myBitmap As New Bitmap("Grapes.jpg")

    ' Clone a portion of the Bitmap object.
    Dim cloneRect As New Rectangle(0, 0, 100, 100)
    Dim format As PixelFormat = myBitmap.PixelFormat
    Dim cloneBitmap As Bitmap = myBitmap.Clone(cloneRect, format)

    ' Draw the cloned portion of the Bitmap object.
    e.Graphics.DrawImage(cloneBitmap, 0, 0)
End Sub

適用対象