Image::SaveAdd(constEncoderParameters*), méthode (gdiplusheaders.h)

La méthode Image::SaveAdd ajoute un frame à un fichier ou un flux spécifié dans un appel précédent à la méthode Save . Utilisez cette méthode pour enregistrer les frames sélectionnés d'une image à plusieurs frames dans une autre image à plusieurs frames.

Syntaxe

Status SaveAdd(
  const EncoderParameters *encoderParams
);

Paramètres

encoderParams

Pointeur vers un objet EncoderParameters qui contient les paramètres requis par l’encodeur d’image utilisé par l’opération enregistrer-ajouter.

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 .

Notes

Exemples

L’exemple suivant crée un objet Image basé sur un fichier TIFF comportant quatre images. Le code appelle la méthode Image::SelectActiveFrame pour accéder au deuxième cadre dans la dimension de page de cet objet Image. (La dimension de page est la seule dimension dans ce cas.) Ensuite, le code appelle la méthode Save pour enregistrer la deuxième image dans un nouveau fichier nommé TwoFrames.tif. Le code appelle à nouveau la méthode Image::SelectActiveFrame pour accéder au quatrième frame de l’objet Image. Ensuite, le code appelle la méthode Image::SaveAdd pour ajouter le quatrième frame à TwoFrames.tif. Le code appelle la méthode Image::SaveAdd une deuxième fois pour fermer TwoFrames.tif, puis dessine les deux images enregistrées dans ce fichier.

VOID Example_SaveAdd(HDC hdc)
{
   Graphics graphics(hdc);
   EncoderParameters encoderParameters;
   ULONG parameterValue;
   GUID dimension = FrameDimensionPage;

   // An EncoderParameters object has an array of
   // EncoderParameter objects. In this case, there is only
   // one EncoderParameter object in the array.
   encoderParameters.Count = 1;

   // Initialize the one EncoderParameter object.
   encoderParameters.Parameter[0].Guid = EncoderSaveFlag;
   encoderParameters.Parameter[0].Type = EncoderParameterValueTypeLong;
   encoderParameters.Parameter[0].NumberOfValues = 1;
   encoderParameters.Parameter[0].Value = &parameterValue;

   // Get the CLSID of the TIFF encoder.
   CLSID encoderClsid;
   GetEncoderClsid(L"image/tiff", &encoderClsid);

   // Create an image object based on a TIFF file that has four frames.
   Image fourFrames(L"FourFrames.tif");

   // Save the second page (frame).
   parameterValue = EncoderValueMultiFrame;
   fourFrames.SelectActiveFrame(&dimension, 1);
   fourFrames.Save(L"TwoFrames.tif", &encoderClsid, &encoderParameters);

   // Save the fourth page (frame).
   parameterValue = EncoderValueFrameDimensionPage;
   fourFrames.SelectActiveFrame(&dimension, 3);
   fourFrames.SaveAdd(&encoderParameters);

   // Close the multiframe file.
   parameterValue = EncoderValueFlush;
   fourFrames.SaveAdd(&encoderParameters);

   // Draw the two frames of TwoFrames.tif.
   Image twoFrames(L"TwoFrames.tif");
   twoFrames.SelectActiveFrame(&dimension, 0);
   graphics.DrawImage(&twoFrames, 10, 10);
   twoFrames.SelectActiveFrame(&dimension, 1);
   graphics.DrawImage(&twoFrames, 150, 10);
}

Configuration requise

   
En-tête gdiplusheaders.h

Voir aussi

Image

EncoderParameter

EncoderParameters

GetImageEncoders

Image::Save, méthodes

Image::SaveAdd, méthodes

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