第一次使用gdi+,在vc 2005下,不知道怎么用,请大家积极帮助,O(∩_∩)O谢谢.

解决方案 »

  1.   

    给个链接:
    http://www.vckbase.com/document/viewdoc/?id=1440
      

  2.   

    1、GDI+程序设计步骤:
    (1)、在项目中引入GDI+的头文件,使用GDI+的命名空间。
    (2)、初始化GDI+系统资源。
    (3)、使用完毕之后,释放GDI+所使用的资源。
    (4)、在编译时加入GDIplus.Lib库文件。
    实例步骤:
    (1)、在Visual C++.NET的IDE中,选择“文件”|“新建”|“项目”命令,选择MFC应用程序,在“名称”文本框肿输入项目名称GDIPlusDemo。在随即出现的“MFC应用程序向导”对话框肿,选择程序的类型为“单文档”。
    (2)、在程序中使用GDI+命名空间
    GDI+中使用了自己的命名空间,可以从GDIplus.h头文件中看出GDI+对命名空间的定义,并添加GDI+运行库(GDIplus.LIB)支持。具体方法是修改stdafx.h文件,在该头文件的结尾处加入下列的代码:
    //引入GDI+头文件
    #include <GdiPlus.h>
    //使用GDI+的命名空间
    using namespace Gdiplus;
    #pragma comment( lib, "gdiplus.lib" )
    (3)、GDI+资源的初始化与销毁
    在使用GDI+的资源之前,应该通过GdiplusStartup(启用GDI-资源)函数进行GDI+系统资源的初始化操作,而在程序结束前,应该通过GdiplusShutdown(关闭GDI+资源)函数进行GDI+资源的销毁操作。这亮相工作,可以在CGDIPlusDemoApp类的InitInstance(初始化进程)函数喝CGDIPlusDemoApp类的析构函数中进行。
    //全局变量,表明对GDI+的一个引用
    ULONG_PTR gdiplusToken;
    //CGDIPlusDemoApp初始化
    BOOL CGDIPlusDemoApp::InitInstance()
    {
    InitCommonControls();
    //GDI+系统资源的初始化
    GdiplusStartupInput gdiplusStartupInput;
    GdiplusStartup(&gdiplusToken,&gdiplusStartupInput,NULL);
    CWinApp::InitInstance(); // 初始化OLE 库
    if (!AfxOleInit())
    {
    ……
    }
    }
    int CGDIPlusDemoApp::ExitInstance()
    {
    // TODO: 在此添加专用代码和/或调用基类
    GdiplusShutdown(gdiplusToken);
    return CWinApp::ExitInstance();
    }
    其中,全局变量gdiplusToken的作用就是代表着对GDI+的一个引用。在使用GdiplusStartup函数时,该变量已经被初始化,在使用GdiplusShutdown函数时,通过对变量gdiplusToken的访问从而完成对GDI+资源的销毁工作。
    经过上述三个步骤后,一个完整的GDI+程序的框架已经搭建完毕,只需在CGDIPlusDemoView::OnDraw(CDC* pDC)函数中添加相应的代码就可以了。