Share via


Metodo Image::Save(constWCHAR*,constCLSID*,constEncoderParameters*) (gdiplusheaders.h)

Il metodo Image::Save salva questa immagine in un file.

Sintassi

Status Save(
  const WCHAR             *filename,
  const CLSID             *clsidEncoder,
  const EncoderParameters *encoderParams
);

Parametri

filename

Puntatore a una stringa con terminazione null che specifica il nome del percorso per l'immagine salvata.

clsidEncoder

Puntatore a un CLSID che specifica il codificatore da usare per salvare l'immagine.

encoderParams

facoltativo. Puntatore a un oggetto EncoderParameters che contiene parametri usati dal codificatore. Il valore predefinito è NULL.

Valore restituito

Tipo: Stato

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

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

Commenti

GDI+ non consente di salvare un'immagine nello stesso file usato per costruire l'immagine. Il codice seguente crea un oggetto Image passando il nome MyImage.jpg del file a un costruttore Image . Lo stesso nome del file viene passato al metodo Image::Save dell'oggetto Image, quindi il metodo Image:: Save ha esito negativo.

Image image(L"myImage.jpg");

// Do other operations.

// Save the image to the same file name. (This operation will fail.)
image.Save(L"myImage.jpg", ...);

Esempio

Nell'esempio seguente viene creato un oggetto Image da un file PNG e quindi viene creato un oggetto Graphics basato su tale oggetto Image . Il codice disegna l'immagine, modifica l'immagine e disegna di nuovo l'immagine. Infine, il codice salva l'immagine modificata in un file.

Il codice si basa su una funzione helper, GetEncoderClsid, per ottenere l'identificatore di classe per il codificatore PNG. La funzione GetEncoderClsid viene visualizzata in Recupero dell'identificatore di classe per un codificatore.

La tecnica di costruzione di un oggetto Grafico in base a un'immagine funziona solo per determinati formati di immagine. Ad esempio, non è possibile costruire un oggetto Graphics in base a un'immagine con una profondità di colore di 4 bit per pixel. Per altre informazioni sui formati supportati dal costruttore Grafica , vedere Grafica.

VOID Example_SaveFile(HDC hdc)
{
   Graphics graphics(hdc);

   // Create an Image object based on a PNG file.
   Image  image(L"Mosaic.png");

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

   // Construct a Graphics object based on the image.
   Graphics imageGraphics(&image);

   // Alter the image.
   SolidBrush brush(Color(255, 0, 0, 255));
   imageGraphics.FillEllipse(&brush, 20, 30, 80, 50);

   // Draw the altered image.
   graphics.DrawImage(&image, 200, 10);

   // Save the altered image.
   CLSID pngClsid;
   GetEncoderClsid(L"image/png", &pngClsid);
   image.Save(L"Mosaic2.png", &pngClsid, NULL);
}

Requisiti

Requisito Valore
Intestazione gdiplusheaders.h

Vedi anche

Immagine

Encoderparameter

Encoderparameters

GetImageEncoders

Metodi Image::Save

Image::SaveAdd Metodi

Uso di codificatori di immagini e decodificatori