Compartir a través de


Dibujo, posicionamiento y clonación de imágenes en GDI+

Puede usar la Bitmap clase para cargar y mostrar imágenes ráster, y puede usar la Metafile clase para cargar y mostrar imágenes vectoriales. Las Bitmap clases y Metafile heredan de la Image clase . Para mostrar una imagen vectorial, necesita una instancia de la Graphics clase y .Metafile Para mostrar una imagen ráster, necesita una instancia de la Graphics clase y un Bitmap. La instancia de Graphics clase proporciona el método DrawImage, que recibe Metafile o Bitmap como argumento.

Tipos de archivo y clonación

En el ejemplo de código siguiente se muestra cómo construir un Bitmap a partir del archivo Climber.jpg y mostrar el mapa de bits. El punto de destino de la esquina superior izquierda de la imagen, (10, 10), se especifica en los parámetros segundo y tercero.

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

En la ilustración siguiente se muestra la imagen.

Ejemplo de imagen

Puede construir Bitmap objetos a partir de diversos formatos de archivo gráficos: BMP, GIF, JPEG, EXIF, PNG, TIFF y ICON.

En el ejemplo de código siguiente se muestra cómo construir Bitmap objetos a partir de una variedad de tipos de archivo y, a continuación, se muestran los mapas de bits.

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)

La Bitmap clase proporciona un Clone método que puede usar para realizar una copia de un existente Bitmap. El Clone método tiene un parámetro de rectángulo de origen que puede usar para especificar la parte del mapa de bits original que desea copiar. En el ejemplo de código siguiente se muestra cómo crear un Bitmap mediante la clonación de la mitad superior de un existente Bitmap. A continuación, se dibujan ambas imágenes.

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)

En la ilustración siguiente se muestran las dos imágenes.

Recorte de

Consulte también