c语言绘图函数的头文件 c语言画图函数库头文件( 三 )


line(66,66,88,88);
lineto(100,100);
linerel(36,64);
getch();
restorecrtmode();
}
61. setlinestyle() 设置线型函数
功能: setlinestyle() 为画线函数设置当前线型,包括线型、线图样和线宽 。
用法: setlinestyle() 函数调用方式为void setlinestyle(int stly,unsigned pattern,int width);
说明: 参数style为线型取值,也可以用相应名称表示,如表1-10中所示 。
参数pattern用于自定义线图样,它是16位(bit)字,只有当style=USERBIT_LINE(值为1)时,pattern的值才有意义,使用用户自定义线图样,与图样中“1”位对应的像素显示,因此,pattern=0xFFFF,则画实线;pattern=0x9999,则画每隔两个像素交替显示的虚线,如果要画长虚线 , 那么pattern的值可为0xFF00和0xF00F,当style不为USERBIT_LINE值时,虽然pattern的值不起作用,但扔须为它提供一个值,一般取为0 。
参数wigth用来设定线宽 , 其取值见表1-11,表中给出了两个值,即1和3,实际上 , 线宽取值为2也是可以接受的 。
若用非法参数调用setlinestyle()函数,那么graphresult()会返回错误代码 , 并且当前线型继续有效 。
Turbo C提供的线型与线宽定义在头文件graphics.h中,表1-10和1-11分别列出了参数的取值与含义 。
表1-10线型
-----------------------------------------------------
名称取 值含义
-----------------------------------------------------
SOLID_LINE0实线
DOTTED_LINE1点线
CNTER_LINE2中心线
DASHED_LINE3虚线
USERBIT_LINE4用户自定义线型
-----------------------------------------------------
表1-11 线宽
-----------------------------------------------------------
名称取值说明
-----------------------------------------------------------
NORM_WIDTH(常宽)1一个像素宽(缺省值)
THICK_WIDTH(加宽)3三个像素宽
-----------------------------------------------------------
这个函数的头文件是graphics.h
返回值: 无
例: 下面的程序显示了BC中所提供的线型图样:
#i ncludegraphics.h
void main()
{
int driver,mode;
driver=DETECT;
mode=0;
initgraph(driver,mode,"");
for(i=0;i4;i++)
{
setlinestyle(i,0,1);
line(i*50,200,i*50+60,200)
}
getch();
restorecrtmode();
}
62. getlinesettings() 获取线型设置函数
功能: 函数getlinesettings() 用当前设置的线型、线图样和线宽填 写linesettingstype型结构 。
用法: 函数调用方式为void getlinesettings(struct linesettingstype *info);
说明: 此函数调用执行后,当前的线型、线图样和线宽值被装入info指向的结构里,从而可从该结构中获得线型设置 。
linesettingstype型结构定义如下:
struct linesettingstype {
int linestyle;
unsigned upattern;
int thickness;
};
其中linestyle用于存放线型,线型值为表1-10中的各值之一 。
upattern用为装入用户自定义线图样,这是16位字,每一位等于一个像素,如果哪个位被设置,那么该像素打开 , 否则关闭 。
thickness为线宽值存放的变量,可参见表1-11 。
getlinesettings()函数对应的头文件为graphics.h
返回值: 返回的线型设置存放在info指向的结构中 。
例: 把当前线型的设置写入info结构:
struct linesettingstype info;
getlinesettings(info);
63.setwritemode() 设置画线模式函数
功能: 函数setwritemode() 设置画线模式
用法: 函数调用方式为 void setwritemode()(int mode);
说明: 参数mode只有两个取值0和1,若mode为0,则新画的线将复盖屏幕上原有的图形 , 此为缺省画线输出模式 。如果mode为1,那么新画的像素点与原有图形的像素点先进行异或(XOR)运算,然后输出到屏幕上 , 使用这种画线输出模式,第二次画同一图形时,将擦除该图形 。调用setwritemode()设置的画线输出模式只影响函数line(),lineto(),linerel(),recangle()和drawpoly() 。

推荐阅读