Graphics g = pictureBox1.CreateGraphics();
img = Image.FromFile(@"V:\test.jpg");
Point[] pt = {new Point(0, 0), new Point(90, 30), new Point(20, 100)};
// (100, 0)にimgを描画
g.DrawImage(img, new Point(100, 0));
// (0, 0), (90, 30), (20, 100)から平行四辺形を作成して描画
g.DrawImage(img, pt);
// (0, 0)に100×100のサイズでimgを描画
g.DrawImage(img, new Rectangle(0, 0, 100, 100));
// (100, 0)にimgを描画
g.DrawImage(img, 100, 0);
// (0, 0), (90, 30), (20, 100)から平行四辺形を作成してimgの(0, 0)から(200, 200)までを描画
g.DrawImage(img, pt, new Rectangle(0, 0, 200, 200), GraphicsUnit.Pixel);
// 1. (0, 0)にimgを描画
g.DrawImage(img, new Point(0, 0));
// 2. 平行四辺形を作成して描画
g.DrawImage(img, pt);
// 3. 1のPointF型
g.DrawImage(img, new PointF(10.0F, 10.0F));
// 4. 2のPointF型
g.DrawImage(img, ptF);
// 5. 場所とサイズを指定
g.DrawImage(img, new Rectangle(0, 0, 50, 50));
// 6. 5のRectangleF型
g.DrawImage(img, new RectangleF(0.0F, 0.0F, 50.0F, 50.0F));
// 7. 3をx, y分解
g.DrawImage(img, 10.0F, 10.0F);
// 8. 1をx, y分解
g.DrawImage(img, 10, 10);
// 9. 2と5の合成
g.DrawImage(img, pt, new Rectangle(0, 0, 50, 50), GraphicsUnit.Pixel);
// 10. 4と6の合成
g.DrawImage(img, ptF, new RectangleF(0.0F, 0.0F, 50.0F, 50.0F), GraphicsUnit.Pixel);
// 11. srcRectangleで切り取ってdstRectangleへ拡大縮小
g.DrawImage(img, new Rectangle(0, 0, 200, 200), new Rectangle(0, 0, 50, 50), GraphicsUnit.Pixel);
// 12. 11のRectangleF型
g.DrawImage(img, new RectangleF(0.0F, 0.0F, 200.0F, 200.0F), new RectangleF(0.0F, 0.0F, 50.0F, 50.0F), GraphicsUnit.Pixel);
// 13. 指定した位置に指定したサイズで
g.DrawImage(img, 50.0F, 50.0F, 100.0F, 100.0F);
// 14. 指定した位置に指定したRectangleで切り取って
g.DrawImage(img, 50.0F, 50.0F, new RectangleF(30.0F, 30.0F, 100.0F, 100.0F), GraphicsUnit.Pixel);
// 15. 13のInt型
g.DrawImage(img, 50, 50, 100, 100);
// 16. 14のInt型
g.DrawImage(img, 50, 50, new Rectangle(30, 30, 100, 100), GraphicsUnit.Pixel);
// 17. 9にimgAttrを追加
g.DrawImage(img, pt, new Rectangle(30, 30, 100, 100), GraphicsUnit.Pixel, imgAttr);
// 18. 17のFloat型
g.DrawImage(img, ptF, new RectangleF(30.0F, 30.0F, 100.0F, 100.0F), GraphicsUnit.Pixel, imgAttr);
// 19. 17にコールバック追加
g.DrawImage(img, pt, new Rectangle(30, 30, 100, 100), GraphicsUnit.Pixel, imgAttr, DrawImageAbort);
// 20. 18にコールバック追加
g.DrawImage(img, ptF, new RectangleF(30.0F, 30.0F, 100.0F, 100.0F), GraphicsUnit.Pixel, imgAttr, DrawImageAbort);
// 21. 19にcallbackData追加
g.DrawImage(img, pt, new Rectangle(0, 0, 200, 200), GraphicsUnit.Pixel, imgAttr, DrawImageAbort, 0);
// 22. 20にcallbackData追加
g.DrawImage(img, ptF, new RectangleF(30.0F, 30.0F, 100.0F, 100.0F), GraphicsUnit.Pixel, imgAttr, DrawImageAbort, 0);
// 23. x, y, width, heightを指定して画像の一部分を描画
g.DrawImage(img, new Rectangle(0, 0, 200, 200), 10.0F, 10.0F, 70.0F, 70.0F, GraphicsUnit.Pixel);
// 24. 23のint版
g.DrawImage(img, new Rectangle(0, 0, 200, 200), 10, 10, 70, 70, GraphicsUnit.Pixel);
// 25. 23にimgAttr追加
g.DrawImage(img, new Rectangle(0, 0, 200, 200), 10.0F, 10.0F, 70.0F, 70.0F, GraphicsUnit.Pixel, imgAttr);
// 26. 24にimgAttr追加
g.DrawImage(img, new Rectangle(0, 0, 200, 200), 10, 10, 70, 70, GraphicsUnit.Pixel, imgAttr);
// 27. 25にcallback追加
g.DrawImage(img, new Rectangle(0, 0, 200, 200), 10.0F, 10.0F, 70.0F, 70.0F, GraphicsUnit.Pixel, imgAttr, DrawImageAbort);
// 28. 26にcallback追加
g.DrawImage(img, new Rectangle(0, 0, 200, 200), 10, 10, 70, 70, GraphicsUnit.Pixel, imgAttr, DrawImageAbort);
// 29. 27にIntPtr追加
g.DrawImage(img, new Rectangle(0, 0, 200, 200), 10.0F, 10.0F, 70.0F, 70.0F, GraphicsUnit.Pixel, imgAttr, DrawImageAbort, ptr);
// 30. 28にIntPtr追加
g.DrawImage(img, new Rectangle(0, 0, 200, 200), 10, 10, 70, 70, GraphicsUnit.Pixel, imgAttr, DrawImageAbort, ptr);