最新C语言绘图基础汇总Word文件下载.docx
- 文档编号:16032277
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:21
- 大小:28.64KB
最新C语言绘图基础汇总Word文件下载.docx
《最新C语言绘图基础汇总Word文件下载.docx》由会员分享,可在线阅读,更多相关《最新C语言绘图基础汇总Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
绿色
CYAN
3
青色
RED
4
红色
MAGENTA
5
洋红
BROWN
6
棕色
LIGHTGRAY
7
淡灰
DARKGRAY
8
深灰
LIGHTBLUE
9
深蓝
LIGHTGREEN
10
淡绿
LIGHTCYAN
11
淡青
LIGHTRED
12
淡红
LIGHTMAGENTA
13
淡洋红
YELLOW
14
黄色
WHITE
15
白色
如果不设定颜色,则默认的北京颜色是0,也就是黑色背景;
默认的画笔颜色是15,也就是白色
另外还有几个获取现行颜色设置情况的函数:
int
getbkcolor(void);
getcolor(void);
getmaxcolor(void);
直接对点进行处理的函数:
getpixel(int
x,
y);
/*取得点(x,y)的颜色
putpixel(int
y,
pixelcolor);
/*在(x,y)处画一个指定颜色的点
坐标和画笔:
图形模式屏幕的左上角是坐标原点(0,0),水平方向向右是X轴,垂直方向向下为Y轴。
因为图形显示器和显示模式不同,X、Y坐标的最大值不同。
两个函数可以取得这两个最大值:
getmaxx(void);
getmaxy(void);
这两个函数在自动检测分辨率时非常有用。
getx(void);
/*返回画笔在x轴的位置
gety(void);
/*返回画笔在y轴的位置
moveto(int
/*移动画笔到x,y所在的位置,不在屏幕上留下痕迹。
moverel(int
dx,
dy);
/*从当前画笔位置(x,y)移动到(x+dx,y+dy)去。
属于相对当前点的移动。
linerel(int
/*画线函数
TC中的画线函数
line(int
x0,
y0,
x1,
y1);
lineto(int
circle(int
radius);
arc(int
stangle,
endangle,
/*以(x,y)为圆心,radius为半径,从stangle到endange结束(用度表示)画一段圆弧线。
在Turbo
C中规定x轴正向为0度,逆时针方向旋转一周,依次为90,180,270和360度。
ellipse(int
y,int
xradius,
yradius);
/*椭圆线,stangle=0,endangle=360时为一个完整的椭圆
rectangle(int
y1,
x2,
y2);
drawpoly(int
numpoints,
*polypoints)
TC中的线形设定
setlinestyle()函数用于设定线形
getlinessetings()函数用于读出当前线形
setlinestyle(int
linestyle,
unsigned
upattern,
thickness);
线的形状
SOLID_LINE
实线
DOTTED_LINE
点线
CENTER_LINE
中心线
DASHED_LINE
点画线
USERBIT_LINE
用户定义线
线的宽度(仅两种)
NORM_WIDTH
一点宽
THICK_WIDTH
三点宽
getlinessetings(struct
linesettingstype
*lineinfo);
struct
{int
linestyle;
upattern;
thickness;
}
下面两句代码可以读出当前线的特性
*info;
getlinesettings(info);
另外还有一个对画线特性的规定:
setwritemode(int
mode);
如果mode=0,则表示画线时将所画位置的原图形覆盖(默认方式),如果mode=1,则表示画线时用现在特性的线与原有的线进行异或操作,实际上画出的线是原有线与现在规定的线进行异或后的结果。
因此,当线的特性不变时,进行两次画线操作相当于画一次线然后擦除。
如果用mode=1进行重画并不影响背景图像。
也就是说,假如做一个动画,背景是静止的,前景是运动的,那我么只要不断对前景进行异或,前景就会不断变化而不影响背景。
填充和填充模式
1先画轮廓再填充
bar(int
bar3d(int
y2,
depth,
topflag);
pieslice(int
sector(int
2规定填充模式
向封闭区域内填充有12种模式。
setfillstyle(int
pattern,
名字
值
意义
EMPTY_FILL
以背景颜色填充
SOLID_FILL
以实线填充
LINE_FILL
以直线--填充
LTSLASH_FILL
以斜线///填充(阴影线)
SLASH_FILL
以粗斜线填充(粗阴影线)
BKSLASH_FILL
以粗反斜线填充(阴影线)
LTBKSLASH_FILL
以反斜线填充(阴影线)
HATCH_FILL
以菱形填充
XHATCH_FILL
以交叉断菱形填充
INTTERLEAVE_FILL
以中断线填充
WIDE_DOT_FILL
以稀疏点填充
CLOSE_DOT_FILL
以密集点填充
USER_FILL
以用户定义式样填充
setfillpattern(char
*upattern,
其中upattern是一个指向8个字节的指针。
这8个字节定义了8*8点阵的图形。
每个字节的8位二进制数表示水平8个点,8个字节共表示8行,然后依次为模型向整个封闭区域填充
getfillpattern(char
*upattern);
该函数将用户自定义的填充花样存入upattern指针指向的内存区域
getfillsetings(struct
fillsettingstype
*fillinfo);
fillsettingstype
pattern;
color;
}
3淹没式填充
floodfill(int
border);
注意两点:
(1),种子的位置一定要在封闭区域之内
(2),floodfill函数的第三个参数边框颜色一定要写对
图形和图像函数包含在graphics.h里面
(一)像素函数
56.putpiel()画像素点函数
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()输出图像函数
四、图形和图像函数
对许多图形应用程序,直线和曲线是非常有用的。
但对有些图形只能靠操作单个像素才能画出。
当然如果没有画像素的功能,就无法操作直线和曲线的函数。
而且通过大规模使用像素功能,整个图形就可以保存、写、擦除和与屏幕上的原有图形进行叠加。
56.putpixel()画像素点函数
功能:
函数putpixel()在图形模式下屏幕上画一个像素点。
用法:
函数调用方式为voidputpixel(intx,inty,intcolor);
说明:
参数x,y为像素点的坐标,color是该像素点的颜色,它可以是颜色符号名,也可以是整型色彩值。
此函数相
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 语言 绘图 基础 汇总