Graphics::D rawImage(Image*,constPointF*,INT,REAL,REAL,REAL,REAL,Unit,constImageAttributes*,DrawImageAbort,VOID*) (gdiplusgraphics.h)

El método Graphics::D rawImage dibuja una imagen.

Sintaxis

Status DrawImage(
  [in] Image                 *image,
  [in] const PointF          *destPoints,
  [in] INT                   count,
  [in] REAL                  srcx,
  [in] REAL                  srcy,
  [in] REAL                  srcwidth,
  [in] REAL                  srcheight,
  [in] Unit                  srcUnit,
  [in] const ImageAttributes *imageAttributes,
  [in] DrawImageAbort        callback,
  [in] VOID                  *callbackData
);

Parámetros

[in] image

Tipo: Imagen*

Puntero a un objeto Image que especifica la imagen de origen.

[in] destPoints

Tipo: const PointF*

Puntero a una matriz de objetos PointF que especifican el área, en un paralelismo, en el que se va a dibujar la imagen.

[in] count

Tipo: INT

Entero que especifica el número de elementos de la matriz de destPoints .

[in] srcx

Tipo: REAL

Número real que especifica la coordenada x de la esquina superior izquierda de la parte de la imagen de origen que se va a dibujar.

[in] srcy

Tipo: REAL

Número real que especifica la coordenada y de la esquina superior izquierda de la parte de la imagen de origen que se va a dibujar.

[in] srcwidth

Tipo: REAL

Número real que especifica el ancho de la parte de la imagen de origen que se va a dibujar.

[in] srcheight

Tipo: REAL

Número real que especifica el alto de la parte de la imagen de origen que se va a dibujar.

[in] srcUnit

Tipo: Unidad

Elemento de la enumeración Unit que especifica la unidad de medida de la imagen. El valor predeterminado es UnitPixel.

[in] imageAttributes

Tipo: ImageAttributes*

Puntero a un objeto ImageAttributes que especifica los atributos de color y tamaño de la imagen que se van a dibujar. El valor predeterminado es NULL.

[in] callback

Tipo: DrawImageAbort

Método de devolución de llamada usado para cancelar el dibujo en curso. El valor predeterminado es NULL.

[in] callbackData

Tipo: VOID*

Puntero a datos adicionales utilizados por el método especificado por el parámetro callback . El valor predeterminado es NULL.

Valor devuelto

Tipo: Estado

Si el método se realiza correctamente, devuelve Ok, que es un elemento de la enumeración Status .

Si se produce un error en el método, devuelve uno de los otros elementos de la enumeración Status .

Comentarios

El valor del parámetro count debe ser igual a 3 para especificar las coordenadas de la esquina superior izquierda, la esquina superior derecha y la esquina inferior izquierda del paralelismo. La coordenada de la esquina inferior derecha se calcula utilizando las tres coordenadas dadas, el ancho y el alto de la imagen. La parte de la imagen de origen que se va a dibujar se escala para ajustarse al paralelismo.

Ejemplos

En el ejemplo siguiente se dibuja la imagen de origen original y, a continuación, se dibuja una parte de la imagen en un paralelismo especificado.

VOID Example_DrawImage4(HDC hdc)

{

   Graphics graphics(hdc);

   // Create an Image object.
   Image image(L"pattern.png");

   // Draw the original source image.
   graphics.DrawImage(&image, 10, 10);

   // Define the portion of the image to draw.
   REAL srcX = 70.0f;
   REAL srcY = 20.0f;
   REAL srcWidth = 100.0f;
   REAL srcHeight = 100.0f;

   // Create an array of Point objects that specify the destination of the cropped image.
   PointF destPoints[3] = {
   PointF(230.0f, 30.0f),
   PointF(350.0f, 50.0f),
   PointF(275.0f, 120.0f)};

   Point* pdestPoints = destPoints; 

   // Create an ImageAttributes object that specifies a recoloring from red to blue.
   ImageAttributes remapAttributes;
   ColorMap redToBlue;
   redToBlue.oldColor = Color(255, 255, 0, 0);
   redToBlue.newColor = Color(255, 0, 0, 255);
   remapAttributes.SetRemapTable(1, &redToBlue);

   // Draw the cropped image.
   graphics.DrawImage(
   &image,
   pdestPoints,
   3,
   srcX,
   srcY,
   srcWidth,
   srcHeight,
   UnitPixel,
   &remapAttributes,
   NULL,
   NULL);
}

En la ilustración siguiente se muestra la salida del código anterior.

Ilustración en la que se muestra un patrón de tablero de verificación multicolor y, a continuación, un subconjunto ampliado de dos tones de ese patrón, con una trama paralela

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP, Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado gdiplusgraphics.h (include Gdiplus.h)
Library Gdiplus.lib
Archivo DLL Gdiplus.dll

Consulte también

Dibujo, posicionamiento y clonación de imágenes

Elementos gráficos

Imagen

ImageAttributes

Cargar y mostrar mapas de bits

Point

SetRemapTable

Unidad