📄 untitled-18.txt
字号:
第2章在窗口中绘图47
POINT aPointl;4」= 5 12o, IOO, 120, 200, 25O, 150, 500, 4O 3;
PoINT aPoint214」= 120,100,so,350,250,20o,500,40 };
dc.PolyBezier(aPointl, 4);
dc.PolyBezier(aPointZ, 4);
这两条样条曲线是彼此独立的,只是碰巧端点相同罢了。如果要将两条或更多的样条
曲线连接成为连续曲线,则应在每条附加样条曲线的POINT数组中再添加三个点,并相应
地增大PolyBezier第二个参数中的点数即可。
所有GDI画线和画曲线函数都有一个特点:从不画最后一个像素点。如果用下面语句
画一条从(0,0)到(100,100)的线:
dc.NoveTo(0,0);
dc.L。neTo(100, 100);
则(0,O)位置上的像素和(l,回),(2,2)如此等等位置上的像素一样都被设置成了该线的颜
色,但(10,100)上像素的颜色保持不变。如果还要画出该线的最后一个像素,则必须自己
再画一次这个点。有一种画点的方法是使用 CDC:: SetPixel函数,该函数能够将单个点的颜
色设置成指定的颜色。
2.2.2画椭圆、多边形以及其他形状
GDI不会把您限制在简单的直线和曲线上。它还允许您画椭圆、矩形、饼状楔形物以及
其他封闭图形。MFC的CDC类将相关的GDI函数封装在类成员函数中。在设备描述表对
象中或通过指向设备描述表对象的指针可以方便地调用这些函数。表2-7列出了其中的几
个函数。
表2.7用来画封闭图形的CDC函数
函数说明
Chord画一个由椭圆和直线相交后围成的封闭图形
Ellipse画一个圆或椭圆
Pi。画一个饼状的楔形物
Polygon连接一组点形成一个多边形
Rectan办画一个带直角的矩形
RoundRect画一个带圆角的矩形
画封闭图形的GDI函数以外接方框的坐标值作为参数。例如,在用Ellipse函数画圆
时,不要求指定中心点和半径,但是要求指定该圆的外接方框。如下所示,可以显式地传送
坐标值:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -