请问我下了一个gdiplus.dll和gdiplus.lib相关联的程序,用来进行jpg,png图片的存储,我已经在setting中加了gdiplus.lib,而且在stafx.h中加了include "gdiplus.h",而且在工程中也加了一大堆glidplus***.h的文件,结果是在用一个pDoc->m_pImage = Image::FromFile(A2W((LPCTSTR)filename),FALSE)的函数的时候,其中m-pimage中根本什么也没读到(filename是文件的完整路径加文件名),我的用法和例子中的用法完全一样,例子中却能读到,是不是我在引用gdiplus.dll和gdiplus.lib的时候不对,或是用这个的时候有什么没有注意到的地方,请用过的大侠们帮帮忙啊,很急的,谢谢!!!也帮忙顶一下咯

解决方案 »

  1.   

    首先你的程序是编译成unicode的还是非unicode的?
    然后,你这里
    A2W((LPCTSTR)filename)
    最好改成
    T2W((LPCTSTR)filename)如果还有什么问题,你再提吧
      

  2.   

    对了,你有没有初始化gdiplus?
      

  3.   

    怎么初始话啊,是将m_pImage = null 吗?
      

  4.   

    在你的CWinApp的InitInstance中加上如下语句(一定要在界面显示之前)
    // 初始化Gdiplus
    GdiplusStartupInput gdiplusStartupInput;
    Gdiplus::GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);
    其中m_gdiplusToken是一个ULONG_PTR类型的变量,如果编译时报未定义的类型ULONG_PTR,那你就去下个最新的Platform SDK来安装,或者将其改为ULONG在退出程序的时候,在CWinApp的ExitInstance中加上如下语句
    // 结束Gdiplus
    Gdiplus::GdiplusShutdown(m_gdiplusToken);