代码之家  ›  专栏  ›  技术社区  ›  demonplus

在MFC C++应用程序中从JPEG文件中加载JPEG文件

  •  1
  • demonplus  · 技术社区  · 14 年前

    以下代码在Windows XP下正常工作:

    CImage image;
    
    RECT destRect;
    
    int nResource = 10;
    
    CResourceStream stream(0, MAKEINTRESOURCE(nResource), _T("JPEG")); 
    
    HRESULT hr = image.Load(&stream);
    
    image.Draw(hDC, destRect);
    

    但是在Windows7上 image.Load 收益率 E_FAIL 虽然创造 CResourceStream 正确读取资源中的jpeg文件。

    调试结果如下:

    GdipCreateBitmapFromStream 收益率 InvalidParameter .

    问题可能是什么?

    jpeg是资源文件中的自定义类别。

    2 回复  |  直到 8 年前
        1
  •  0
  •   Goz    14 年前

    我相信你应该用“JPG”而不是“JPEG”。

        2
  •  0
  •   demonplus    14 年前

    最后,我使用了来自codeproject的这个解决方案:

    http://www.codeproject.com/KB/GDI-plus/cgdiplusbitmap.aspx

    它是gdi+的一个薄包装器,能够在Windows7下完美地加载jpeg文件(和其他文件)。