CImage :: Load无法加载图像

时间:2014-10-19 13:42:19

标签: c++ image

我在MSDN上编写代码作为方向,但它不起作用。它无法加载图像并将图像保存为bmp。

#include "stdafx.h"
#include "atlimage.h"
#include "cstdio"
#include "fstream"
int _tmain(int argc, _TCHAR* argv[])
{
    CImage m_image1;
    CImage m_image2;

    char *srcFile = "C:\\Users\\TYZRPVX\\Desktop\\test.jpg";
    const char *tarFile = "C:\\Users\\TYZRPVX\\Desktop\\testBmp.bmp";
    FILE *tar;
    fopen_s(&tar, tarFile, "w");
    m_image1.Load((LPCTSTR)(srcFile));
    //m_image1.Save(_T("C:\\Users\\TYZRPVX\\Desktop\\testBmp.bmp"));
    m_image1.Save(_T("C:\\Users\\TYZRPVX\\Desktop"),Gdiplus::ImageFormatBMP);

    return 0;

}

1 个答案:

答案 0 :(得分:5)

您可能正在使用Unicode进行编译,这是在Visual Studio中创建新项目时的默认值。这会使您的演员LPCTSTR不正确。为文件名使用宽字符串并删除演员。

const wchar_t *srcFile = L"C:\\Users\\TYZRPVX\\Desktop\\test.jpg";
const wchar_t *bmpFile = L"C:\\Users\\TYZRPVX\\Desktop\\testBmp.bmp";


m_image1.Load(srcFile);
m_image1.Save(bmpFile, Gdiplus::ImageFormatBMP);