绘图(直线和曲线)

画线函数有以下七种:

1LIneto 画直线

2Polyline和PolylineTo 画一条由多条首尾相连的直线构成的折线

3PolyPolyline 画多条折线

4Arc 画椭圆弧线

5PolyBezier和PolyBesierTo画赛尔样曲线

6ArcTo和AngleArc画椭圆弧线

7PolyDraw 画多条赛尔样曲线

画一条线,必须调用两个函数

1MoveToEx(hdc,xBeg,yBeg,NULL);//起点

2LineTo(hdc,xEnd,yEnd);//终点

看看下面的代码,为了节约地盘,我只是拷贝过程函数的一部分

case WM_PAINT:
			hdc=BeginPaint(hwnd,&ps);
			GetClientRect(hwnd,&rect);
			for(x=0;x<rect.right;x+=100){
				MoveToEx(hdc,x,0,NULL);
				LineTo(hdc,x,rect.bottom);
			}

			for(y=0;y<rect.right;y+=100){
				MoveToEx(hdc,0,y,NULL);
				LineTo(hdc,rect.right,y);
			}
			EndPaint(hwnd,&ps);
			return 0;


结果如下:

绘图(直线和曲线)_第1张图片

//前面定义了五个点POINT apt[5]={100,100,200,100,200,200,100,200,100,100};

case WM_PAINT: hdc=BeginPaint(hwnd,&ps); GetClientRect(hwnd,&rect); MoveToEx(hdc,apt[0].x,apt[0].y,NULL); for(i=1;i<5;++i){ LineTo(hdc,apt[i].x,apt[i].y); }

//PolylineTo(hdc,apt+1,4);和Polyline(hdc,apt,5);这两条语句和上面的功能是一样的,画一个矩形

EndPaint(hwnd,&ps); return 0;


结果如下:

绘图(直线和曲线)_第2张图片

你可能感兴趣的:(绘图)