Partager via


Conversion d’une image BMP en image PNG

Pour enregistrer une image dans un fichier disque, appelez la méthode Save de la classe Image . L’application console suivante charge une image BMP à partir d’un fichier disque, convertit l’image au format PNG et enregistre l’image convertie dans un nouveau fichier disque. La fonction main s’appuie sur la fonction d’assistance GetEncoderClsid, qui est illustrée dans Récupération de l’identificateur de classe pour un encodeur.

#include <windows.h>
#include <gdiplus.h>
#include <stdio.h>
using namespace Gdiplus;

INT GetEncoderClsid(const WCHAR* format, CLSID* pClsid);  // helper function

INT main()
{
   // Initialize GDI+.
   GdiplusStartupInput gdiplusStartupInput;
   ULONG_PTR gdiplusToken;
   GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);

   CLSID   encoderClsid;
   Status  stat;
   Image*   image = new Image(L"Bird.bmp");

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

   stat = image->Save(L"Bird.png", &encoderClsid, NULL);

   if(stat == Ok)
      printf("Bird.png was saved successfully\n");
   else
      printf("Failure: stat = %d\n", stat); 

   delete image;
   GdiplusShutdown(gdiplusToken);
   return 0;
}