函数setbkcolor用于设置绘图时的背景颜色。其调用格式为:
setbkcolor(color);
其中color为一个整型数值,代表所取的颜色,颜色与前景色设置相同。
【例9-8】围棋棋盘绘制,实现用红色、蓝色交替绘制棋盘线。
#include <graphics.h>
#include <conio.h>
void main()
{
int x,y;
initgraph(640, 480);
for(y=30,x=40; y<480;y+=30,x+=40)
{
if (y/30% 2 ==1||x/40%2==1) /* 判断奇数行偶数行*/
setcolor(RGB(255,0,0));
else
setcolor(RGB(0,0,255));
line(0,y,640,y);
line(x,0,x,480);
}
getch();
closegraph();
}
程序运行结果:
图9-7 围棋棋盘效果图
3.setlinestyle设置线型
setlinestyle这个函数用于设置当前画线样式。
void setlinestyle(
const LINESTYLE* pstyle
);
void setlinestyle(
int style,
int thickness = 1,
const DWORD *puserstyle =NULL,
DWORD userstylecount = 0
);
参数:
1.Pstyle为指向画线样式 LINESTYLE 的指针。
2.Style为画线样式,由直线样式、端点样式、连接样式三类组成。可以是其中一类或多类的组合。同一类型中只能指定一个样式。
直线样式见表9-3所示。
表9-3 直线样式含义表
端点样式见表9-4所示:
表9-4 端点样式
连接样式见表9-5所示:
表9-5 连接样式
3.Thickness:线的宽度,以像素为单位。
4.puserstyle:用户自定义样式数组,仅当线型为 PS_USERSTYLE 时该参数有效。
数组第一个元素指定画线的长度,第二个元素指定空白的长度,第三个元素指定画线的长度,第四个元素指定空白的长度,以此类推。
5.userstylecount:用户自定义样式数组的元素数量。
返回值:(无)
示例:
以下局部代码设置画线样式为点划线:
setlinestyle(PS_DASHDOT);
以下局部代码设置画线样式为宽度 3 像素的虚线,端点为平坦的:
setlinestyle(PS_DASH | PS_ENDCAP_FLAT, 3);
以下局部代码设置画线样式为宽度 10 像素的实线,连接处为斜面:
setlinestyle(PS_SOLID | PS_JOIN_BEVEL, 10);
以下局部代码设置画线样式为自定义样式(画 5 个像素,跳过 2 个像素,画 3 个像素,跳过 1 个像素……),端点为平坦的:
DWORD a[4] = {5, 2, 3, 1};
setlinestyle(PS_USERSTYLE | PS_ENDCAP_FLAT, 1, a, 4);