Share via


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

Il metodo Graphics::D rawImage disegna un'immagine.

Sintassi

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

Parametri

[in] image

Tipo: Immagine*

Puntatore a un oggetto Image che specifica l'immagine di origine.

[in] destPoints

Tipo: const Point*

Puntatore a una matrice di oggetti Point che specificano l'area, in un parallelogramma, in cui disegnare l'immagine.

[in] count

Tipo: INT

Intero che specifica il numero di elementi nella matrice destPoints .

[in] srcx

Tipo: INT

Numero reale che specifica la coordinata x dell'angolo superiore sinistro della parte dell'immagine di origine da disegnare.

[in] srcy

Tipo: INT

Numero reale che specifica la coordinata y dell'angolo superiore sinistro della parte dell'immagine di origine da disegnare.

[in] srcwidth

Tipo: INT

Numero reale che specifica la larghezza della parte dell'immagine di origine da disegnare.

[in] srcheight

Tipo: INT

Numero reale che specifica l'altezza della parte dell'immagine di origine da disegnare.

[in] srcUnit

Tipo: Unità

Elemento dell'enumerazione Unit che specifica l'unità di misura per l'immagine. Il valore predefinito è UnitPixel.

[in] imageAttributes

Tipo: ImageAttributes*

Puntatore a un oggetto ImageAttributes che specifica gli attributi di colore e dimensione dell'immagine da disegnare. Il valore predefinito è NULL.

[in] callback

Tipo: DrawImageAbort

Metodo di callback utilizzato per annullare il disegno in corso. Il valore predefinito è NULL.

[in] callbackData

Tipo: VOID*

Puntatore a dati aggiuntivi utilizzati dal metodo specificato dal parametro di callback . Il valore predefinito è NULL.

Valore restituito

Tipo: Stato

Se il metodo ha esito positivo, restituisce Ok, che è un elemento dell'enumerazione Status .

Se il metodo ha esito negativo, restituisce uno degli altri elementi dell'enumerazione Status .

Commenti

Il valore del parametro count deve essere uguale a 3 per specificare i tre angoli del parallelogramma. Il quarto angolo del parallelogramma viene calcolato utilizzando i vettori delle prime e delle seconde coordinate e la prima e la terza coordinata. La parte dell'immagine di origine da disegnare viene ridimensionata per adattarsi al parallelogramma.

Esempio

L'esempio seguente disegna l'immagine di origine originale e quindi disegna una parte dell'immagine in un parallelogramma specificato.

VOID Example_DrawImage2(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.
   int srcX = 70;
   int srcY = 20;
   int srcWidth = 100;
   int srcHeight = 100;

   // Create an array of Point objects that specify the destination of the cropped image.
   Point destPoints[3] = {
   Point(230, 30),
   Point(350, 50),
   Point(275, 120)};

   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);
}

La figura seguente mostra l'output del codice precedente.

Illustrazione che mostra un motivo a scacchiera colorata, quindi un sottoinsieme ingrandito a due di quel modello, con un parallelgramma

Requisiti

   
Client minimo supportato Windows XP, Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione gdiplusgraphics.h (include Gdiplus.h)
Libreria Gdiplus.lib
DLL Gdiplus.dll

Vedi anche

Disegno, posizionamento e clonazione delle immagini

Grafica

Immagine

Imageattributes

Caricamento e visualizzazione di bitmap

Point

SetRemapTable