Graphics.DrawImage メソッド (Image, Single, Single, RectangleF, GraphicsUnit)

イメージの一部を指定の位置に描画します。

Overloads Public Sub DrawImage( _
   ByVal image As Image, _   ByVal x As Single, _   ByVal y As Single, _   ByVal srcRect As RectangleF, _   ByVal srcUnit As GraphicsUnit _)
[C#]
public void DrawImage(Imageimage,floatx,floaty,RectangleFsrcRect,GraphicsUnitsrcUnit);
[C++]
public: void DrawImage(Image* image,floatx,floaty,RectangleFsrcRect,GraphicsUnitsrcUnit);
[JScript]
public function DrawImage(
   image : Image,x : float,y : float,srcRect : RectangleF,srcUnit : GraphicsUnit);

パラメータ

  • image
    描画する Image オブジェクト。
  • x
    描画イメージの左上隅の x 座標。
  • y
    描画イメージの左上隅の y 座標。
  • srcRect
    描画する Image オブジェクトの部分を指定する RectangleF 構造体。
  • srcUnit
    srcRect パラメータで使用する単位を指定する GraphicsUnit 列挙体のメンバ。

戻り値

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

解説

Image オブジェクトは、ピクセル幅の値および水平方向の解像度 (dpi) の値を格納します。イメージの物理的な幅 (インチ) は、ピクセル幅を水平解像度で割った値です。たとえば、幅が 360 ピクセルで、水平解像度が 72 dpi のイメージの物理的な幅は 5 インチになります。ピクセルの高さと物理的な高さについても同様です。

このメソッドは物理サイズを使用してイメージの一部を描画するため、イメージのその部分は表示デバイスの解像度 (dpi) に関係なく、インチで指定された正しいサイズで描画されます。たとえば、幅が 216 ピクセルで、水平解像度が 72 dpi であるイメージの一部を想定します。このメソッドを呼び出して、96 dpi (1 インチあたりのドット数) の解像度のデバイスにそのイメージの部分を描画すると、レンダリングされたイメージの幅は (216/72)*96 = 288 (ピクセル) になります。

使用例

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

  • この例が保存されているフォルダの JPEG ファイル SampImag.jpg からイメージを作成します。
  • イメージの左上隅を描画する座標を作成します。
  • イメージの一部を抽出するための四角形を作成します。
  • 抽出元の四角形の単位をピクセルに設定します。
  • 画面にイメージを描画します。

[Visual Basic, C#] 抽出元の四角形のサイズによって、スケーリングされない元のイメージのどの部分が画面に描画されるかが決まります。

 
Public Sub DrawImage2FloatRectF(e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create coordinates for upper-left corner of image.
Dim x As Single = 100F
Dim y As Single = 100F
' Create rectangle for source image.
Dim srcRect As New RectangleF(50F, 50F, 150F, 150F)
Dim units As GraphicsUnit = GraphicsUnit.Pixel
' Draw image to screen.
e.Graphics.DrawImage(newImage, x, y, srcRect, units)
End Sub
        
[C#] 
public void DrawImage2FloatRectF(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create coordinates for upper-left corner of image.
float x = 100.0F;
float y = 100.0F;
// Create rectangle for source image.
RectangleF srcRect = new RectangleF( 50.0F, 50.0F, 150.0F, 150.0F);
GraphicsUnit units = GraphicsUnit.Pixel;
// Draw image to screen.
e.Graphics.DrawImage(newImage, x, y, srcRect, units);
}
        

[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 ファミリ

参照

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