资源描述:
《C语言图形的填充函数.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、C语言图形的填充函数 一、先画轮廓再填充 TURBOC提供了一些先画出基本图形轮廓, 再按规定图模和颜色填充整个封闭图形的函数。在没有改变填充方式时,TURBOC以默认方式填充。下面介绍这些函数。 voidbar(intx1,inty1,intx2,inty2); 确定一个以(x1,y1)为左上角,(x2,y2)为右下角的矩形窗口,再按规定图模和颜色填充。 说明:此函数不画出边框,所以填充色为边框。 voidbar3d(intx1,inty1,intx2,inty2,int de
2、pth,inttopflag); 当topflag为非0时,画出一个三维的长方体。当topflag为0时,三维图形不封顶,实际上很少这样使用。 说明:bar3d()函数中,长方体第三维的方向不随任何参数而变, 即始终为45度的方向。 voidpieslice(intx,inty,intstangle,int endangle,intradius); 画一个以(x,y)为圆心,radius为半径,stangle为起始角度,endangle为终止角度的扇形,再按规定方式填充。当stangle=0,
3、endangle=360时变成一个实心圆,并在圆内从圆点沿X轴正向画一条半径。 voidsector(intx,inty, int stanle, intendangle, intxradius,intyradius); 画一个以(x,y)为圆心分别以xradius,yradius为x轴和y轴半径, stangle为起始角,endangle为终止角的椭圆扇形,再按规定方式填充。 二、设定填充方式 TURBOC有四个与填充方式有关的函数。下面分别介绍: voidsetfillstyl
4、e(intpattern,intcolor); color的值是当前屏幕图形模式时颜色的有效值。pattern的值及与其等价的符号常数如表7所示。 表7.关于填充式样pattern的规定 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 符号常数 数值 含义 ─────────────────────────── EMPTY_FILL 0 以背景颜色填充 SOLID_FILL
5、1 以实填充 LINE_FILL 2 以直线填充 LTSLASH_FILL 3 以斜线填充(阴影线) SLASH_FILL 4 以粗斜线填充(粗阴影线) BKSLASH_FILL 5 以粗反斜线填充(粗阴影线) LTBKSLASH_FILL 6 以反斜线填充(阴影线) HATCH_FILL 7 以直方
6、网格填充 XHATCH_FILL 8 以斜网格填充 INTTERLEAVE_FILL 9 以间隔点填充 WIDE_DOT_FILL 10 以稀疏点填充 CLOSE_DOS_FILL 11 以密集点填充 USER_FILL 12 以用户定义式样填充 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━除USER_FILL(用户定义填充式样)以外,其它填充式样
7、均可由setfillstyle()函数设置。 三、任意封闭图形的填充 截止目前为止,我们只能对一些特定形状的封闭图形进行填充,但还不能对任意封闭图形进行填充。为此,TURBOC提供了一个可对任意封闭图形填充的函数,其调用格式如下: voidfloodfill(intx,inty,intborder); 其中:x,y为封闭图形内的任意一点。border为边界的颜色,也就是封闭图形轮廓的颜色。调用了该函数后,将用规定的颜色和图模填满整个封闭图形。 注意: 1.如果x或y取在边界上
8、,则不进行填充。 2.如果不是封闭图形则填充会从没有封闭的地方溢出去,填满其它地方。 3.如果x或y在图形外面,则填充封闭图形外的屏幕区域。 4.由border指定的颜色值必须与图形轮廓的颜色值相同, 但填充色可选任意颜色。