Ritning, positionering och kloning av bilder i GDI+
Du kan använda klassen Bitmap för att läsa in och visa rasterbilder, och du kan använda klassen Metafile för att läsa in och visa vektorbilder. Klasserna Bitmap och Metafile ärver från klassen Image. Om du vill visa en vektorbild behöver du en instans av klassen Graphics och en Metafile. Om du vill visa en rasterbild behöver du en instans av klassen Graphics och en Bitmap. Instansen av klassen Graphics innehåller metoden DrawImage som tar emot Metafile eller Bitmap som argument.
Filtyper och kloning
I följande kodexempel visas hur du skapar en Bitmap från filen Climber.jpg och visar bitmappen. Målpunkten för bildens övre vänstra hörn(10, 10) anges i den andra och tredje parametrarna.
Bitmap myBitmap = new Bitmap("Climber.jpg");
myGraphics.DrawImage(myBitmap, 10, 10);
Dim myBitmap As New Bitmap("Climber.jpg")
myGraphics.DrawImage(myBitmap, 10, 10)
Följande bild visar bilden.
Du kan skapa Bitmap objekt från en mängd olika grafikfilformat: BMP, GIF, JPEG, EXIF, PNG, TIFF och ICON.
I följande kodexempel visas hur du konstruerar Bitmap objekt från en mängd olika filtyper och sedan visar bitmapparna.
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);
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)
Klassen Bitmap innehåller en Clone metod som du kan använda för att göra en kopia av en befintlig Bitmap. Metoden Clone har en källrektangelparameter som du kan använda för att ange den del av den ursprungliga bitmappen som du vill kopiera. Följande kodexempel visar hur du skapar en Bitmap genom att klona den övre halvan av en befintlig Bitmap. Sedan ritas båda bilderna.
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);
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)
Följande bild visar de två bilderna.
Se även
.NET Desktop feedback