英語で読む

次の方法で共有


Graphics.FromImage(Image) メソッド

定義

指定した Imageから新しい Graphics を作成します。

C#
public static System.Drawing.Graphics FromImage(System.Drawing.Image image);

パラメーター

image
Image

新しい Graphicsを作成する場所を Image します。

戻り値

このメソッドは、指定した Imageの新しい Graphics を返します。

例外

imagenullです。

インデックス付きピクセル形式を持つ image、またはその形式が未定義です。

次のコード例は Windows フォームで使用できるように設計されており、Paint イベント ハンドラーのパラメーターである PaintEventArgseが必要です。 このコードでは、次のアクションが実行されます。

  • サンプル フォルダー内のグラフィックス ファイル SampImag.jpg から Image を作成します。

  • Imageから Graphics を作成します。

  • 画像内の四角形を塗りつぶして画像を変更します。

  • Image を画面に描画します。

  • 作成した Graphicsを解放します。

C#
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();
}

注釈

イメージにインデックス付きピクセル形式がある場合、このメソッドは"A Graphics object cannot be created from a image that has an indexed pixel format" (グラフィックス オブジェクトはインデックス付きピクセル形式の画像から作成できません) というメッセージで例外をスローします。インデックス付きピクセル形式を次の一覧に示します。

Save(String, ImageFormat) メソッドを使用してインデックス付きイメージを別の形式で保存し、新しいイメージの Graphics オブジェクトを取得できます。

このメソッドは、画像に次のいずれかのピクセル形式がある場合にも例外をスローします。

FromImage メソッドによって作成された Graphics と関連リソースを解放するには、常に Dispose メソッドを呼び出す必要があります。

適用対象

製品 バージョン
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

こちらもご覧ください