画线函数有LineTo() 、Polyline() 、Arc()等。
LineTo() 用法:
LineTo() 与MoveTo()是合起来一同使用的,MoveTo()是移动到画的线的起点位置,而LineTo()的参数是直线的终点位置。
Polyline() 用法:
Polyline() 可以画多边形等。第一个参数是一个POINT数组,第二个参数是该数组的个数。
一般来讲,Polyline() 是比 LineTo() 更快。这被放大绘图大量的行。小行数,在区别工期内调用的是可以忽略与需要绘制该线条时间。
这是因为LineTo() 和 Polyline() 都使用相同的内部代码绘制线条,但略有不同的安装过程。
Polyline() 调用 GlobalAlloc(),并将所有数据点复制到内存 ; 因此,没有一些开销。 内存一个指针传递给绘制所有行的内部函数。
LineTo() 实质上会生成一个点,并调用 Polyline() 相同的内部功能。 LineTo() 不分配更多内存。
Polyline() 是大量行,效率更高的因为应用程序进行一次调用 Windows,并安装程序只执行一次。 大量调用 LineTo() 引入了大量开
销,以进行每个调用,并重复执行 LineTo() 中的安装代码。
Arc()用法:
Arc()函数是一个画弧线的函数,第一个参数表示要画的矩形的位置,第二个参数是个点,表示该矩形的内嵌椭圆的圆心与该点连线和整个弧线的交点开始算弧线的起点,而这个点是很重要的,第三个参数也是个点,表示终点,和第二个参数的意义是一样的。起点和终点是按逆时针方向画的。
POINT pt1; pt1.x = 100; pt1.y = 200; POINT temp; temp.x = 10; temp.y = 20; //画直线 pDC->MoveTo(temp); pDC->LineTo(pt1); POINT ppt1[5]; ppt1[0].x = 100; ppt1[0].y = 200; ppt1[1].x = 100; ppt1[1].y = 300; ppt1[2].x = 200; ppt1[2].y = 300; ppt1[3].x = 200; ppt1[3].y = 200; ppt1[4] = ppt1[0]; //画四边形 pDC->Polyline(ppt1,5); POINT ppt2[2]; ppt2[0].x = 100; ppt2[0].y = 200; ppt2[1].x = 200; ppt2[1].y = 300; pDC->Polyline(ppt2,2); POINT pt2; pt2.x = 150; pt2.y = 200; CRect rect(100,200,200,300); //画弧线 pDC->Arc(&rect,pt2,pt1);