getlinesettings(info);
另外还有一个对画线特性的规定:
void far setwritemode(int mode);
如果 mode=0,则表示画线时将所画位置的原图形覆盖(默认方式),如果 mode=1,则表示
画线时用现在特性的线与原有的线进行异或操作,实际上画出的线是原有线与现在规定
的线进行异或后的结果。因此,当线的特性不变时,进行两次画线操作相当于画一次线然
后擦除。如果用 mode=1 进行重画并不影响背景图像。也就是说,假如做一个动画,背景是
静止的,前景是运动的,那我么只要不断对前景进行异或,前景就会不断变化而不影响
背景。
填充和填充模式
1
先画轮廓再填充
void far bar(int x1, int y1, int x2, int y2);
void far bar3d(int x1, int y1, int x2, int y2, int depth, int topflag);
void far pieslice(int x, int y, int stangle, int endangle, int radius);
void far sector(int x, int y, int stangle, int xradius, int yradius);
2
规定填充模式
向封闭区域内填充有 12
种模式。
void far setfillstyle(int pattern, int color);
名字
值
意义
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_DOT_FILL 11
以密集点填充
USER_FILL 12
以用户定义式样填充
void far setfillpattern(char *upattern, int color);
其中 upattern 是一个指向 8 个字节的指针。这 8 个字节定义了 8*8 点阵的图形。每个字节的
8 位二进制数表示水平 8 个点,8 个字节共表示 8 行,然后依次为模型向整个封闭区域填
充
void far getfillpattern(char *upattern);
该函数将用户自定义的填充花样存入 upattern
指针指向的内存区域
void far getfillsetings(struct fillsettingstype far *fillinfo);
struct fillsettingstype
{int pattern;
int color;
}