C++ GDI+;-将位图像素转换为JPG格式

C++ GDI+;-将位图像素转换为JPG格式,c++,bitmap,gdi+,C++,Bitmap,Gdi+,我有一个位图像素数组。如何将它们转换为JPG格式并复制到另一个数组?如何将它们从JPG像素转换回位图?您可以使用或创建内存流,然后使用GDI+方法保存到该流。反向读取过程。从此处签出编码器CLSID函数: 修改的原始代码来自: 只需将image/jpeg更改为您想要转换的任何格式。我在上面提到的MSDN链接中给出了详细信息。当然,要使用像素,您需要将JPEG转换为BMPJPG是一种文件格式。没有“JPG像素”这样的东西。 int main() { // Initialize GDI+.

我有一个位图像素数组。如何将它们转换为JPG格式并复制到另一个数组?如何将它们从JPG像素转换回位图?

您可以使用或创建内存流,然后使用GDI+方法保存到该流。反向读取过程。

从此处签出编码器CLSID函数:

修改的原始代码来自:

只需将image/jpeg更改为您想要转换的任何格式。我在上面提到的MSDN链接中给出了详细信息。当然,要使用像素,您需要将JPEG转换为BMP

JPG是一种文件格式。没有“JPG像素”这样的东西。
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 JPEG encoder.
   GetEncoderClsid(L”image/jpeg”, &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;
}