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

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

Overloads Public Sub DrawImage( _
   ByVal image As Image, _   ByVal destPoints() As PointF, _   ByVal srcRect As RectangleF, _   ByVal srcUnit As GraphicsUnit _)
[C#]
public void DrawImage(Imageimage,PointF[] destPoints,RectangleFsrcRect,GraphicsUnitsrcUnit);
[C++]
public: void DrawImage(Image* image,PointFdestPoints[],RectangleFsrcRect,GraphicsUnitsrcUnit);
[JScript]
public function DrawImage(
   image : Image,destPoints : PointF[],srcRect : RectangleF,srcUnit : GraphicsUnit);

パラメータ

  • image
    描画する Image オブジェクト。
  • destPoints
    平行四辺形を定義する 3 つの PointF 構造体の配列。
  • srcRect
    描画する image オブジェクトの部分を指定する Rectangle 構造体。
  • srcUnit
    srcRect パラメータで使用する単位を指定する GraphicsUnit 列挙体のメンバ。

戻り値

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

解説

destPoints パラメータは、平行四辺形の 3 つの点を指定します。3 つの PointF 構造体は、平行四辺形の左上隅、右上隅、および左下隅を表します。初めの 3 つの点から 4 番目の点を推定して、平行四辺形を形成します。

描画する image オブジェクトの四角形部分を指定する srcRect パラメータ。この部分は、 destPoints パラメータで指定された平行四辺形の内側に収まるようにスケーリングされ、傾斜が設定されます。

使用例

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

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

[Visual Basic, C#] 描画先の平行四辺形の位置によって画面上のイメージの位置が決まり、抽出元の四角形のサイズおよび描画先の平行四辺形のサイズと形状によって描画イメージのスケーリングと傾斜が決まり、四角形のサイズによって画面に描画する元のイメージの部分が決まります。

 
Public Sub DrawImageParaFRectF(e As PaintEventArgs)
' Create image.
Dim newImage As Image = Image.FromFile("SampImag.jpg")
' Create parallelogram for drawing image.
Dim ulCorner As New PointF(100F, 100F)
Dim urCorner As New PointF(550F, 100F)
Dim llCorner As New PointF(150F, 250F)
Dim destPara As PointF() =  {ulCorner, urCorner, llCorner}
' 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, destPara, srcRect, units)
End Sub
        
[C#] 
public void DrawImageParaFRectF(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create parallelogram for drawing image.
PointF ulCorner = new PointF(100.0F, 100.0F);
PointF urCorner = new PointF(550.0F, 100.0F);
PointF llCorner = new PointF(150.0F, 250.0F);
PointF[] destPara = {ulCorner, urCorner, llCorner};
// 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, destPara, 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 オーバーロードの一覧