请给我详细的方法
如果是用其他库,请给我详细的例子和调用方法,我的不是MFC编程,是API的

解决方案 »

  1.   

    补充一下, 我BMP的数据 已经 把  文件头 信息头 去掉了
      

  2.   

    用GDI+转,很简单的
    第一个例子是读写文件方式转图像格式的
    第二个例子是Bitmap通过IStream接口读取内存图像,写也类似你把两个例子结合起来就可以了
    #include <windows.h>
    #include <gdiplus.h>
    #include <stdio.h>
    using namespace Gdiplus;INT GetEncoderClsid(const WCHAR* format, CLSID* pClsid);  // helper functionINT 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;
    }HGLOBAL hResourceBuffer = GlobalAlloc(GMEM_MOVEABLE, dwResSize);
    if(hResourceBuffer != NULL)
    {
    LPVOID lpResourceBuffer = GlobalLock(hResourceBuffer); 
    if(lpResourceBuffer != NULL)
    {
    CopyMemory(lpResourceBuffer, lpResourceData, dwResSize);

    IStream* piStream = NULL; 
    if(CreateStreamOnHGlobal(hResourceBuffer, FALSE, &piStream) == S_OK)
    {
    pImage = Bitmap::FromStream(piStream);
    piStream->Release();
    }

    GlobalUnlock(hResourceBuffer);
    }

    GlobalFree(hResourceBuffer);
    }
      

  3.   

    谢谢 图片类型转换 cxImage 和 gdi 谁比较高效率呢