本文参考:《精通GDI+编程》
一、有关设备环境句柄的概念
设备环境的数据结构存储了与显示器(或打印机)的性能、属性相关的详细信息,这些数据信息决定程序如何在显示器上进行输出。所有的输出都是通过设备环境来实现的,例如,在窗口中画一个矩形,首先得通过GetDC函数得到设备环境,然后让设备环境去执行具体操作。
使用GDI+时,不必像在使用GDI时那样关心句柄和设备环境这样的概念了。程序员只需要简单地创建一个Graphics(图形)对象,然后分别调用该Graphics(图形)对象的成员函数,便能完成大部分的绘图(或文本输出。)操作。就像设备环境是GDI的核心一样。
二、GDI与GDI+的区别
例如:画线
//GDI
HPEN hPen, hPenOld;
hPen = CreatePen(PS_SOLID, 3, RGB(255,0,0));
CDC *pDC = GetDC();
hPenOld = (HPEN)pDC->SelectObject(hPen);
pDC->MoveTo(50,60);
pDC->LineTo(100,120);
pDC->SelectObject(hPenOld);
//GDI+
CDC *pDC = GetDC();
Graphics graphiscs(pDC->m_hDC);
Pen red(Color(255,0,0), 3);
graphiscs.DrawLine(&red, 50, 60, 100, 120);