Graphics.FromImage(Image) メソッド


指定した Image の新しい Graphics を作成します。Creates a new Graphics from the specified Image.

 static System::Drawing::Graphics ^ FromImage(System::Drawing::Image ^ image);
public static System.Drawing.Graphics FromImage (System.Drawing.Image image);
static member FromImage : System.Drawing.Image -> System.Drawing.Graphics
Public Shared Function FromImage (image As Image) As Graphics



新しい Graphics の作成元の ImageImage from which to create the new Graphics.



このメソッドは、指定した Graphics の新しい Image を返します。This method returns a new Graphics for the specified Image.


imagenullです。image is null.

image がインデックス付きのピクセル形式であるか、またはその形式が未定義です。image has an indexed pixel format or its format is undefined.

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

  • Imageサンプルフォルダー内の SampImag.jpg のグラフィックスファイルからを作成します。Creates an Image from a graphics file SampImag.jpg in the example folder.

  • からを作成し Graphics Image ます。Creates a Graphics from the Image.

  • イメージ内の四角形を塗りつぶすことによって、イメージを変更します。Alters the image by filling a rectangle within it.

  • Image 画面に描画します。Draws the Image to the screen.

  • 作成されたを解放 Graphics します。Releases the created Graphics.

   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( gcnew SolidBrush( Color::Black ), 100, 50, 100, 100 );

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

      // Dispose of graphics object.
      delete newGraphics;
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.
Private Sub FromImageImage2(ByVal e As PaintEventArgs)

    ' Create image.
    Dim imageFile As Image = Image.FromFile("SampImag.jpg")

    ' Create graphics object for alteration.
    Dim newGraphics As Graphics = 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.
End Sub


イメージにインデックス付きピクセル形式がある場合、このメソッドは例外をスローします。 "インデックス付きピクセル形式のイメージからグラフィックスオブジェクトを作成することはできません" というメッセージが表示されます。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.

メソッドを使用して、 Save(String, ImageFormat) 新しいイメージのオブジェクトを取得することにより、インデックス付きイメージを別の形式で保存でき Graphics ます。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.

メソッドを呼び出して、 Dispose Graphics メソッドによって作成されたおよび関連リソースを解放する必要があり FromImage ます。You should always call the Dispose method to release the Graphics and related resources created by the FromImage method.