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

时间:2023-02-03 17:29:50

在我理解看来,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