Partager via


Méthode Image ::Save(constWCHAR*,constCLSID*,constEncoderParameters*) (gdiplusheaders.h)

La méthode Image ::Save enregistre cette image dans un fichier.

Syntaxe

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

Paramètres

filename

Pointeur vers une chaîne terminée par null qui spécifie le nom du chemin d’accès de l’image enregistrée.

clsidEncoder

Pointeur vers un CLSID qui spécifie l’encodeur à utiliser pour enregistrer l’image.

encoderParams

facultatif. Pointeur vers un objet EncoderParameters qui contient les paramètres utilisés par l’encodeur. La valeur par défaut est NULL.

Valeur retournée

Type : État

Si la méthode réussit, elle retourne Ok, qui est un élément de l’énumération Status .

Si la méthode échoue, elle retourne l’un des autres éléments de l’énumération Status .

Remarques

GDI+ ne vous permet pas d’enregistrer une image dans le même fichier que celui que vous avez utilisé pour construire l’image. Le code suivant crée un objet Image en passant le nom MyImage.jpg de fichier à un constructeur Image . Ce même nom de fichier est passé à la méthode Image ::Save de l’objet Image, de sorte que la méthode Image ::Save échoue.

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", ...);

Exemples

L’exemple suivant crée un objet Image à partir d’un fichier PNG, puis crée un objet Graphics basé sur cet objet Image . Le code dessine l’image, la modifie et la dessine à nouveau. Enfin, le code enregistre l’image modifiée dans un fichier.

Le code s’appuie sur une fonction d’assistance, GetEncoderClsid, pour obtenir l’identificateur de classe pour l’encodeur PNG. La fonction GetEncoderClsid s’affiche dans Récupération de l’identificateur de classe pour un encodeur.

La technique de construction d’un objet Graphics basé sur une image fonctionne uniquement pour certains formats d’image. Par exemple, vous ne pouvez pas construire un objet Graphics basé sur une image dont la profondeur de couleur est de 4 bits par pixel. Pour plus d’informations sur les formats pris en charge par le constructeur Graphics , consultez Graphics.

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

Configuration requise

Condition requise Valeur
En-tête gdiplusheaders.h

Voir aussi

Image

EncoderParameter

EncoderParameters

GetImageEncoders

Image ::Save, méthodes

Image ::SaveAdd, méthodes

Utilisation d’encodeurs d’images et de décodeurs