C语言图形的填充函数

时间:2022-07-15 11:15:19 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
C语言图形的填充函数



一、先画轮廓再填充

TURBO C提供了一些先画出基本图形轮廓, 再按规定图模和颜色填充整个封闭图形的函数。在没有改变填充方式时, TURBO C以默认方式填充。 下面介绍这些函数。

void bar(int x1, int y1, int x2, int y2);

确定一个以(x1, y1)为左上角, (x2, y2)为右下角的矩形窗口, 再按规定图模和颜色填充。

说明: 此函数不画出边框, 所以填充色为边框。

void bar3d(int x1,int y1,int x2,int y2,int depth,int topflag); topflag为非0, 画出一个三维的长方体。topflag0, 三维图形不封顶, 实际上很少这样使用。

说明: bar3d()函数中, 长方体第三维的方向不随任何参数而变, 即始终45度的方向。

void pieslice(int x,int y,int stangle,int endangle,int radius); 画一个以(x, y)为圆心, radius为半径, stangle为起始角度, endangle 终止角度的扇形, 再按规定方式填充。当stangle=0, endangle=360 时变成一个实心圆, 并在圆内从圆点沿X轴正向画一条半径。

void sector(int x, int y, int stanle, intendangle, int xradius, int yradius);

画一个以(x, y)为圆心分别以xradius, yradiusx轴和y轴半

, stangle为起始角, endangle为终止角的椭圆扇形, 再按规定方式填充。 二、设定填充方式

TURBO C有四个与填充方式有关的函数。下面分别介绍:

void setfillstyle(int pattern, int color);

color的值是当前屏幕图形模式时颜色的有效值。pattern的值及与其等价

符号常数如表7所示。

7. 关于填充式样pattern的规定

━━━━━━━━━━━━━━━━━━━━━━━━━━━ 符号常数 数值 含义

─────────────────────────── EMPTY_FILL 0 以背景颜色填充 SOLID_FILL 1 以实填充 LINE_FILL 2 以直线填充

LTSLASH_FILL 3 以斜线填充(阴影线)


SLASH_FILL 4 以粗斜线填充(粗阴影线) BKSLASH_FILL 5 以粗反斜线填充(粗阴影线) LTBKSLASH_FILL 6 以反斜线填充(阴影线) HATCH_FILL 7 以直方网格填充 XHATCH_FILL 8 以斜网格填充 INTTERLEAVE_FILL 9 以间隔点填充 WIDE_DOT_FILL 10 以稀疏点填充 CLOSE_DOS_FILL 11 以密集点填充

USER_FILL 12 以用户定义式样填充

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

USER_FILL(用户定义填充式样)以外, 其它填充式样均可由setfillstyle() 函数设置。

三、任意封闭图形的填充

截止目前为止, 我们只能对一些特定形状的封闭图形进行填充, 但还不能对任意封闭图形进行填充。为此, TURBO C 提供了一个可对任意封闭图形填充的函数, 其调用格式如下:

void floodfill(int x, int y, int border);

其中: x, y为封闭图形内的任意一点。border为边界的颜色, 也就是封闭图形轮廓的颜色。调用了该函数后, 将用规定的颜色和图模填满整个封闭图形。 注意:

1. 如果xy取在边界上, 则不进行填充。

2. 如果不是封闭图形则填充会从没有封闭的地方溢出去, 填满其它地方。 3. 如果xy在图形外面, 则填充封闭图形外的屏幕区域。

4. border指定的颜色值必须与图形轮廓的颜色值相同, 但填充色可选任意颜色。




本文来源:https://www.wddqw.com/doc/b6f75bb665ce05087632138a.html