Graphics.DrawImage メソッド (Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes)

指定した位置に指定したサイズで、指定した Image オブジェクトの指定した部分を描画します。

Overloads Public Sub DrawImage( _
   ByVal image As Image, _   ByVal destRect As Rectangle, _   ByVal srcX As Integer, _   ByVal srcY As Integer, _   ByVal srcWidth As Integer, _   ByVal srcHeight As Integer, _   ByVal srcUnit As GraphicsUnit, _   ByVal imageAttr As ImageAttributes _)
[C#]
public void DrawImage(Imageimage,RectangledestRect,intsrcX,intsrcY,intsrcWidth,intsrcHeight,GraphicsUnitsrcUnit,ImageAttributesimageAttr);
[C++]
public: void DrawImage(Image* image,RectangledestRect,intsrcX,intsrcY,intsrcWidth,intsrcHeight,GraphicsUnitsrcUnit,ImageAttributes* imageAttr);
[JScript]
public function DrawImage(
   image : Image,destRect : Rectangle,srcX : int,srcY : int,srcWidth : int,srcHeight : int,srcUnit : GraphicsUnit,imageAttr : ImageAttributes);

パラメータ

  • image
    描画する Image オブジェクト。
  • destRect
    描画イメージの位置とサイズを指定する Rectangle 構造体。イメージは、四角形に合わせてスケーリングされます。
  • srcX
    描画するソース イメージの一部の左上隅の x 座標。
  • srcY
    描画するソース イメージの一部の左上隅の y 座標。
  • srcWidth
    描画するソース イメージの一部の幅。
  • srcHeight
    描画するソース イメージの一部の高さ。
  • srcUnit
    抽出元の四角形を決定するために使用する単位を指定する GraphicsUnit 列挙体のメンバ。
  • imageAttr
    image オブジェクトのカラー変更情報とガンマ情報を指定する ImageAttributes オブジェクト。

戻り値

このメソッドは値を返しません。

解説

srcXsrcYsrcWidthsrcHeight の各パラメータは、描画する image オブジェクトの四角形部分を指定します。四角形は、ソース イメージの左上隅を起点とします。この部分は、 destRect パラメータで指定された四角形の内側に収まるようにスケーリングされます。

使用例

[Visual Basic, C#] 次の例は、Windows フォームでの使用を意図してデザインされており、 Paint イベント ハンドラのパラメータである PaintEventArgs e が必要です。このコードは次のアクションを実行します。

  • この例が保存されているフォルダの JPEG ファイル SampImag.jpg からイメージを作成します。
  • イメージを描画するための四角形を作成します。
  • イメージの一部を抽出するための四角形の座標を作成します。
  • 抽出元の四角形の単位をピクセルに設定します。
  • 画面に元のイメージを描画します。
  • 調整済みイメージを描画するための追加の四角形を作成します。
  • ガンマ値が通常よりも大きくなるように、調整済みイメージの属性を作成して設定します。
  • 画面に調整済みイメージを描画します。

[Visual Basic, C#] 元の未調整の描画先の四角形では、その位置によって画面上のイメージの位置が決まり、抽出元および描画先の四角形のサイズによって描画イメージのスケーリングが決まり、抽出元の四角形のサイズによって画面に描画する元のイメージの部分が決まります。

 
Public Sub DrawImageRect4IntAtrrib(e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create rectangle for displaying original image.
Dim destRect1 As New Rectangle(100, 25, 450, 150)
' Create coordinates of rectangle for source image.
Dim x As Integer = 50
Dim y As Integer = 50
Dim width As Integer = 150
Dim height As Integer = 150
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Draw original image to screen.
e.Graphics.DrawImage(newImage, destRect1, x, y, width, height, _
units)
' Create rectangle for adjusted image.
Dim destRect2 As New Rectangle(100, 175, 450, 150)
' Create image attributes and set large gamma.
Dim imageAttr As New ImageAttributes()
imageAttr.SetGamma(4F)
' Draw adjusted image to screen.
e.Graphics.DrawImage(newImage, destRect2, x, y, width, height, _
units, imageAttr)
End Sub
        
[C#] 
public void DrawImageRect4IntAtrrib(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create rectangle for displaying original image.
Rectangle destRect1 = new Rectangle(100, 25, 450, 150);
// Create coordinates of rectangle for source image.
int x = 50;
int y = 50;
int width = 150;
int height = 150;
GraphicsUnit units = GraphicsUnit.Pixel;
// Draw original image to screen.
e.Graphics.DrawImage(newImage, destRect1, x, y, width, height, units);
// Create rectangle for adjusted image.
Rectangle destRect2 = new Rectangle(100, 175, 450, 150);
// Create image attributes and set large gamma.
ImageAttributes imageAttr = new ImageAttributes();
imageAttr.SetGamma(4.0F);
// Draw adjusted image to screen.
e.Graphics.DrawImage(newImage, destRect2, x, y, width, height, units, imageAttr);
}
        

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

Graphics クラス | Graphics メンバ | System.Drawing 名前空間 | Graphics.DrawImage オーバーロードの一覧