graphicsh头函数.docx
- 文档编号:3265913
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:23
- 大小:25.26KB
graphicsh头函数.docx
《graphicsh头函数.docx》由会员分享,可在线阅读,更多相关《graphicsh头函数.docx(23页珍藏版)》请在冰豆网上搜索。
graphicsh头函数
graphics.h
分为:
像素函数、直线和线型函数、多边形函数、填充函数等。
像素函数
56.putpixel()画像素点函数
57.getpixel()返回像素色函数
直线和线型函数
58.line()画线函数
59.lineto()画线函数
60.linerel()相对画线函数
61.setlinestyle()设置线型函数
62.getlinesettings()获取线型设置函数
63.setwritemode()设置画线模式函数
多边形函数
64.rectangle()画矩形函数
65.bar()画条函数
66.bar3d()画条块函数
67.drawpoly()画多边形函数
圆、弧和曲线函数
68.getaspectratio()获取纵横比函数
69.circle()画圆函数
70.arc()画圆弧函数
71.ellipse()画椭圆弧函数
72.fillellipse()画椭圆区函数
73.pieslice()画扇区函数
74.sector()画椭圆扇区函数
75.getarccoords()获取圆弧坐标函数
填充函数
76.setfillstyle()设置填充图样和颜色函数
77.setfillpattern()设置用户图样函数
78.floodfill()填充闭域函数
79.fillpoly()填充多边形函数
80.getfillsettings()获取填充设置函数
81.getfillpattern()获取用户图样设置函数
图像函数
82.imagesize()图像存储大小函数
83.getimage()保存图像函数
84.putimage()输出图像函数
图形和图像函数
对许多图形应用程序,直线和曲线是非常有用的。
但对有些图形只能靠操作单个像素才能画出。
当然如果没有画像素的功能,就无法操作直线和曲线的函数。
而且通过大规模使用像素功能,整个图形就可以保存、写、擦除和与屏幕上的原有图形进行叠加。
(一)像素函数
putpixel()画像素点函数
功能:
函数putpixel()在图形模式下屏幕上画一个像素点。
用法:
函数调用方式为voidputpixel(intx,inty,intcolor);
说明:
参数x,y为像素点的坐标,color是该像素点的颜色,它可以是颜色符号名,也可以是整型色彩值。
此函数相应的头文件是graphics.h
返回值:
无
例:
在屏幕上(6,8)处画一个红色像素点:
putpixel(6,8,RED);
getpixel()返回像素色函数
功能:
函数getpixel()返回像素点颜色值。
用法:
该函数调用方式为intgetpixel(intx,inty);
说明:
参数x,y为像素点坐标。
函数的返回值可以不反映实际彩色值,这取决于调色板的设置情况(参见setpalette()函数)。
这个函数相应的头文件为graphics.h
返回值:
返回一个像素点色彩值。
例:
把屏幕上(8,6)点的像素颜色值赋给变量color。
color=getpixel(8,6);
(二)直线和线型函数
有三个画直线的函数,即line(),lineto(),linerel()。
这些直线使用整型坐标,并相对于当前图形视口,但不一定受视口限制,如果视口裁剪标志clip为真,那么直线将受到视口边缘截断;如果clip为假,即使终点坐标或新的当前位置在图形视口或屏幕极限之外,直线截断到屏幕极限。
有两种线宽及几种线型可供选择,也可以自己定义线图样。
下面分别介绍直线和线型函数。
line()画线函数
功能:
函数line()使用当前绘图色、线型及线宽,在给定的两点间画一直线。
用法:
该函数调用方式为voidline(intstartx,intstarty,intendx,intendy);
说明:
参数startx,starty为起点坐标,endx,endy为终点坐标,函数调用前后,图形状态下屏幕光标(一般不可见)当前位置不改变。
此函数相应的头文件为graphics.h
返回值:
无
例:
见函数60.linerel()中的实例。
lineto()画线函数
功能:
函数lineto()使用当前绘图色、线型及线宽,从当前位置画一直线到指定位置。
用法:
此函数调用方式为voidlineto(intx,inty);
说明:
参数x,y为指定点的坐标,函数调用后,当前位置改变到指定点(x,y)。
该函数对应的头文件为graphics.h
返回值:
无
例:
见函数60.linerel()中的实例。
linerel()相对画线函数
功能:
函数linerel()使用当前绘图色、线型及线宽,从当前位置开始,按指定的水平和垂直偏移距离画一直线。
用法:
这个函数调用方式为voidlinerel(intdx,intdy);
说明:
参数dx,dy分别是水平偏移距离和垂直偏移距离。
函数调用后,当前位置变为增加偏移距离后的位置,例如,原来的位置是(8,6),调用函数linerel(10,18)后,当前位置为(18,24)。
返回值:
无
例:
下面的程序为画线函数调用实例:
#include
voidmain()
{
intdriver,mode;
driver=DETECT;
mode=0;
initgraph(&driver,&mode,"");
setcolor(15);
line(66,66,88,88);
lineto(100,100);
linerel(36,64);
getch();
restorecrtmode();
}
setlinestyle()设置线型函数
功能:
setlinestyle()为画线函数设置当前线型,包括线型、线图样和线宽。
用法:
setlinestyle()函数调用方式为voidsetlinestyle(intstly,unsignedpattern,intwidth);
说明:
参数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()会返回错误代码,并且当前线型继续有效。
TurboC提供的线型与线宽定义在头文件graphics.h中,表1-10和1-11分别列出了参数的取值与含义。
表1-10线型
名称
取值
含义
SOLID_LINE
0
实线
DOTTED_LINE
1
点线
CNTER_LINE
2
中心线
DASHED_LINE
3
虚线
USERBIT_LINE
4
用户自定义线型
表1-11线宽
名称
取值
说明
NORM_WIDTH(常宽)
1
一个像素宽(缺省值)
THICK_WIDTH(加宽)
3
三个像素宽
这个函数的头文件是graphics.h
返回值:
无
例:
下面的程序显示了BC中所提供的线型图样:
#include
voidmain()
{
intdriver,mode;i;
driver=DETECT;
mode=0;
initgraph(&driver,&mode,"");
for(i=0;i<4;i++)
{
setlinestyle(i,0,1);
line(i*50,200,i*50+60,200);
}
getch();
restorecrtmode();
}
getlinesettings()获取线型设置函数
功能:
函数getlinesettings()用当前设置的线型、线图样和线宽填写linesettingstype型结构。
用法:
函数调用方式为voidgetlinesettings(structlinesettingstype*info);
说明:
此函数调用执行后,当前的线型、线图样和线宽值被装入info指向的结构里,从而可从该结构中获得线型设置。
linesettingstype型结构定义如下:
structlinesettingstype{
intlinestyle;
unsignedupattern;
intthickness;
};
其中linestyle用于存放线型,线型值为表1-10中的各值之一。
upattern用为装入用户自定义线图样,这是16位字,每一位等于一个像素,如果哪个位被设置,那么该像素打开,否则关闭。
thickness为线宽值存放的变量,可参见表1-11。
getlinesettings()函数对应的头文件为graphics.h
返回值:
返回的线型设置存放在info指向的结构中。
例:
把当前线型的设置写入info结构:
structlinesettingstypeinfo;
getlinesettings(&info);
setwritemode()设置画线模式函数
功能:
函数setwritemode()设置画线模式
用法:
函数调用方式为voidsetwritemode()(intmode);
说明:
参数mode只有两个取值0和1,若mode为0,则新画的线将复盖屏幕上原有的图形,此为缺省画线输出模式。
如果mode为1,那么新画的像素点与原有图形的像素点先进行异或(XOR)运算,然后输出到屏幕上,使用这种画线输出模式,第二次画同一图形时,将擦除该图形。
调用setwritemode()设置的画线输出模式只影响函数line(),lineto(),linerel(),recangle()和drawpoly()。
setwritemode()函数对应的头文件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- graphicsh 函数