setbktcolor設(shè)置背景色
函數(shù)setbkcolor用于設(shè)置繪圖時(shí)的背景顏色。其調(diào)用格式為:
setbkcolor(color);
其中color為一個(gè)整型數(shù)值,代表所取的顏色,顏色與前景色設(shè)置相同。
【例9-8】圍棋棋盤繪制,實(shí)現(xiàn)用紅色、藍(lán)色交替繪制棋盤線。
#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) /* 判斷奇數(shù)行偶數(shù)行*/
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設(shè)置線型
setlinestyle這個(gè)函數(shù)用于設(shè)置當(dāng)前畫線樣式。
void setlinestyle(
const LINESTYLE* pstyle
);
void setlinestyle(
int style,
int thickness = 1,
const DWORD *puserstyle =NULL,
DWORD userstylecount = 0
);
參數(shù):
1.Pstyle為指向畫線樣式 LINESTYLE 的指針。
2.Style為畫線樣式,由直線樣式、端點(diǎn)樣式、連接樣式三類組成。可以是其中一類或多類的組合。同一類型中只能指定一個(gè)樣式。
直線樣式見(jiàn)表9-3所示。
表9-3 直線樣式含義表
端點(diǎn)樣式見(jiàn)表9-4所示:
表9-4 端點(diǎn)樣式
連接樣式見(jiàn)表9-5所示:
表9-5 連接樣式
3.Thickness:線的寬度,以像素為單位。
4.puserstyle:用戶自定義樣式數(shù)組,僅當(dāng)線型為 PS_USERSTYLE 時(shí)該參數(shù)有效。
數(shù)組第一個(gè)元素指定畫線的長(zhǎng)度,第二個(gè)元素指定空白的長(zhǎng)度,第三個(gè)元素指定畫線的長(zhǎng)度,第四個(gè)元素指定空白的長(zhǎng)度,以此類推。
5.userstylecount:用戶自定義樣式數(shù)組的元素數(shù)量。
返回值:(無(wú))
示例:
以下局部代碼設(shè)置畫線樣式為點(diǎn)劃線:
setlinestyle(PS_DASHDOT);
以下局部代碼設(shè)置畫線樣式為寬度 3 像素的虛線,端點(diǎn)為平坦的:
setlinestyle(PS_DASH | PS_ENDCAP_FLAT, 3);
以下局部代碼設(shè)置畫線樣式為寬度 10 像素的實(shí)線,連接處為斜面:
setlinestyle(PS_SOLID | PS_JOIN_BEVEL, 10);
以下局部代碼設(shè)置畫線樣式為自定義樣式(畫 5 個(gè)像素,跳過(guò) 2 個(gè)像素,畫 3 個(gè)像素,跳過(guò) 1 個(gè)像素……),端點(diǎn)為平坦的:
DWORD a[4] = {5, 2, 3, 1};
setlinestyle(PS_USERSTYLE | PS_ENDCAP_FLAT, 1, a, 4);