本节中的所有代码窗体大小均为800 * 600。坐标系原点在窗体中心,X轴正方向向右,Y轴正方向向上。
1. 仅描边
使用circle
函数在窗体上绘制圆心为(0, 0),半径为200的圆形。
#include <easyx.h>
#include <stdio.h>
int main()
{
initgraph(800, 600);
setorigin(400, 300);
setaspectratio(1, -1);
// 以(0, 0)为圆心绘制半径为200的圆形
circle(0, 0, 200);
getchar();
closegraph();
return 0;
}
运行后,窗体上出现了一个圆形。
仔细观察这个图形可以发现,它由圆形边缘的白色线条构成,而圆形的内部没有填充任何颜色。
我们将图形边缘的线条称为图形的描边。描边的颜色默认是白色。
之前我们学习过的绘制形状的函数,例如:circle
,rectangle
,ellipse
等都是使用描边绘制图形。
描边的颜色以及样式是可以更改的。使用,setlinecolor
函数(设置线条颜色)可以更改描边颜色。
setlinecolor
void setlinecolor(COLORREF color);
参数 | 类型 | 意义 |
---|---|---|
color | COLORREF | 将要设置的画线颜色 |
返回值 无
若要将描边设置为黄色,可以使用如下代码。
setlinecolor(YELLOW);
先将描边颜色设置为黄色,再绘制一个描边圆形。
#include <easyx.h>
#include <stdio.h>
int main()
{
initgraph(800, 600);
setorigin(400, 300);
setaspectratio(1, -1);
// 设置描边颜色为黄色
setlinecolor(YELLOW);
circle(0, 0, 200);
getchar();
closegraph();
return 0;
}
除了可以设置描边的颜色外,还能设置描边的样式。
setlinestyle
这个函数用于设置当前设备画线样式。
void setlinestyle(
int style,
int thickness = 1,
const DWORD *puserstyle = NULL,
DWORD userstylecount = 0
);
参数 | 类型 | 意义 |
---|---|---|
style | int | 画线样式 |
thickness | int | 线的宽度,以像素为单位 |
puserstyle | const DWORD *puserstyle | 用户自定义样式数组,仅当线型为PS_USERSTYLE时该参数有效 |
userstylecount | userstylecount | 用户自定义样式数组的元素数量 |