首页 > 代码库 > Win32中GDI+应用(三)---Graphics类

Win32中GDI+应用(三)---Graphics类

在我理解看来,Graphics是一个device context和你的drawing conetent之间的一个中介。它存储了device context的相关属性,以及drawing content的属性。这样,它就能用自己的方法把drawing content“映射”到device content 之上。
GDI中的绘图工作是直接在device context之上进行的。在GDI—+中,你因该在device context之上再建立一个graphics,然后调用graphics的相关方法完成绘图等工作。
Graphics类有四个构造函数:

    static Graphics* FromHDC(IN HDC hdc)    {        return new Graphics(hdc);    }    static Graphics* FromHDC(IN HDC hdc,                             IN HANDLE hdevice)    {        return new Graphics(hdc, hdevice);    }    static Graphics* FromHWND(IN HWND hwnd,                              IN BOOL icm = FALSE)    {        return new Graphics(hwnd, icm);    }    static Graphics* FromImage(IN Image *image)    {        return new Graphics(image);    }

构造函数1从image对象创建一个Graphics类。这种方式允许你在打开某张,或者生成某张,位图之后,应用Grapgics的方法对改位图进行操作。

构造函数2从一个传统的HDC获取一个Graphics对象,把传统的在HDC完成的操作接手过来。

构造函数3允许你创建一个绑定于某个特定设备的Graphics类实例。

构造函数4允许你直接从特定的窗口hwnd直接获取一个Graphics类实例。

转载地址:http://www.cppblog.com/dingding/archive/2008/06/27/54795.html