共用方式為


在 GDI+ 中繪製、定位和複製影像

更新:2007 年 11 月

您可以使用 Bitmap 類別來載入和顯示點陣影像,也可以使用 Metafile 類別來載入和顯示向量影像。BitmapMetafile 類別都繼承自 Image 類別。若要顯示向量影像,您需要 Graphics 類別執行個體和 Metafile。若要顯示點陣影像,您需要 Graphics 類別執行個體和 BitmapGraphics 類別執行個體提供 DrawImage 方法來接收 MetafileBitmap 做為引數。

檔案類型和複製

下列程式碼範例會示範如何從 Climber.jpg 檔案建立 Bitmap 並顯示此點陣圖。影像左上角的目的點 (10, 10) 是由第二個和第三個參數指定。

Dim myBitmap As New Bitmap("Climber.jpg")
myGraphics.DrawImage(myBitmap, 10, 10)

Bitmap myBitmap = new Bitmap("Climber.jpg");
myGraphics.DrawImage(myBitmap, 10, 10);

下圖顯示該影像。

影像範例

您可以使用下列各種圖形檔案格式來建構 Bitmap 物件:BMP、GIF、JPEG、EXIF、PNG、TIFF 和 ICON。

下列程式碼範例會示範如何從各種檔案類型建立 Bitmap 物件,並顯示該點陣圖。

Dim myBMP As New Bitmap("SpaceCadet.bmp")
Dim myGIF As New Bitmap("Soda.gif")
Dim myJPEG As New Bitmap("Mango.jpg")
Dim myPNG As New Bitmap("Flowers.png")
Dim myTIFF As New Bitmap("MS.tif")

myGraphics.DrawImage(myBMP, 10, 10)
myGraphics.DrawImage(myGIF, 220, 10)
myGraphics.DrawImage(myJPEG, 280, 10)
myGraphics.DrawImage(myPNG, 150, 200)
myGraphics.DrawImage(myTIFF, 300, 200)

Bitmap myBMP = new Bitmap("SpaceCadet.bmp");
Bitmap myGIF = new Bitmap("Soda.gif");
Bitmap myJPEG = new Bitmap("Mango.jpg");
Bitmap myPNG = new Bitmap("Flowers.png");
Bitmap myTIFF = new Bitmap("MS.tif");

myGraphics.DrawImage(myBMP, 10, 10);
myGraphics.DrawImage(myGIF, 220, 10);
myGraphics.DrawImage(myJPEG, 280, 10);
myGraphics.DrawImage(myPNG, 150, 200);
myGraphics.DrawImage(myTIFF, 300, 200);

Bitmap 類別提供 Clone 方法,可用來製作現有 Bitmap 物件的複本。Clone 方法具有來源矩形參數,可指定您要複製的原始點陣圖區域。下列程式碼範例會示範如何藉由複製現有 Bitmap 上半部來建立 Bitmap。然後同時繪製這兩個影像。

Dim originalBitmap As New Bitmap("Spiral.png")
Dim sourceRectangle As New Rectangle(0, 0, originalBitmap.Width, _
   CType(originalBitmap.Height / 2, Integer))

Dim secondBitmap As Bitmap = originalBitmap.Clone(sourceRectangle, _
   PixelFormat.DontCare)

myGraphics.DrawImage(originalBitmap, 10, 10)
myGraphics.DrawImage(secondBitmap, 150, 10)

Bitmap originalBitmap = new Bitmap("Spiral.png");
Rectangle sourceRectangle = new Rectangle(0, 0, originalBitmap.Width,
   originalBitmap.Height / 2);

Bitmap secondBitmap = originalBitmap.Clone(sourceRectangle,
   PixelFormat.DontCare);

myGraphics.DrawImage(originalBitmap, 10, 10);
myGraphics.DrawImage(secondBitmap, 150, 10);

下圖將顯示這兩個影像。

裁剪

請參閱

工作

HOW TO:建立繪製的圖形物件

其他資源

影像、點陣圖和中繼檔

使用影像、點陣圖、圖示和中繼檔