none
如何在vc2008的MFC中配置使用GDI+(已修改,新问题) RRS feed

  • 问题

  • RT,我想要使用GDI+在MFC中进行图像操作,但是在MSDN中没有找到有关在VC中配置GDI+的方法,望知情人告知,多谢多谢。

     

    补充:我在一篇博客上看到了解决方案(http://weolee.spaces.live.com/blog/cns!52FBB34F02E029D9!659.entry),但是还有一个问题,我的MFC项目的应用程序(CMyWinApp)类并没有析构函数,这个是个什么情况?那GDI+的GdiplusShutdown(...);操作该写在哪里呢?

    多谢

    • 已编辑 volvop 2010年3月22日 9:41 更新问题
    2010年3月22日 9:23

答案

  • 1) 找到你的stdafx.h 文件,打开。 添加以下内容:

    #include "gdiplus.h"
    using namespace Gdiplus;

     

    2) 在CXXXXXApp::InitInstance() 函数中,在基类InitInstance 函数之前加入以下内容:

        GdiplusStartupInput gdiplusStartupInput;
        ULONG_PTR gdiplusToken;
        GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);

    3) 在CXXXXXApp::InitInstance() 函数中, 在 return 代码之前加入以下内容:

    GdiplusShutdown(gdiplusToken);

    4) Solution Explorer-> 项目节点->Properties -> Linker tab ->input ->Additional Dependices  加入Gdiplus.lib

     

    这样配置就可以了。

    • 已标记为答案 volvop 2010年3月22日 11:55
    2010年3月22日 9:40
    版主

全部回复

  • 1) 找到你的stdafx.h 文件,打开。 添加以下内容:

    #include "gdiplus.h"
    using namespace Gdiplus;

     

    2) 在CXXXXXApp::InitInstance() 函数中,在基类InitInstance 函数之前加入以下内容:

        GdiplusStartupInput gdiplusStartupInput;
        ULONG_PTR gdiplusToken;
        GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);

    3) 在CXXXXXApp::InitInstance() 函数中, 在 return 代码之前加入以下内容:

    GdiplusShutdown(gdiplusToken);

    4) Solution Explorer-> 项目节点->Properties -> Linker tab ->input ->Additional Dependices  加入Gdiplus.lib

     

    这样配置就可以了。

    • 已标记为答案 volvop 2010年3月22日 11:55
    2010年3月22日 9:40
    版主
  • RT,我想要使用GDI+在MFC中进行图像操作,但是在MSDN中没有找到有关在VC中配置GDI+的方法,望知情人告知,多谢多谢。

     

    补充:我在一篇博客上看到了解决方案(http://weolee.spaces.live.com/blog/cns!52FBB34F02E029D9!659.entry ),但是还有一个问题,我的MFC项目的应用程序(CMyWinApp)类并没有析构函数,这个是个什么情况?那GDI+的GdiplusShutdown(...);操作该写在哪里呢?

    多谢


    1) 你可以参照我上面一个帖子的方法做,肯定没问题的。

    2) 你可以把GdiplusShutdown 的代码写在ExitInstance( ); 函数里面。

    2010年3月22日 9:47
    版主
  • .....抱歉弱弱的问一句,ExitInstance()在哪里?

    2010年3月22日 11:42
  • 啊,了解了。MSDN里漏看了一句,ExitInstance()是个虚函数,需要自己重载的,谢谢你。
    2010年3月22日 11:54