DOS平台上SVGACC图形库介绍
(2010-09-16 18:34:23)
标签:
dos平台svgacc图形库it |
分类: DOS编程 |
DOS平台上SVGACC图形库介绍
1.1 基本绘图函数
Drwbox(画矩形)
原型 extern void far drwbox (PixelMode mode, int colr, int x1, int y1, int x2, int y2)
输入 mode - 写点模式
colr - 颜色索引值
x1, y1 - 左上角
x2, y2 - 右下角
输出 无返回值
用法 DRWBOX以(x1, y1)和(x2, y2)为对角顶点用指定的颜色和写模式画一个矩形。不必精确给出四个顶点的坐标,而只需给出矩形相对的两顶点坐标。矩形任何超出当前视口的部份将不会绘制。
Drwcircle(画圆)
原型 extern void far drwcircle (PixelMode mode, int colr, int xcenter, int ycenter, int radius)
输入 mode - 写点模式
colr - 颜色索引值
xcenter, ycenter - 圆的圆心位置
radius - 圆的半径
输出 无返回值
用法 DRWCIRCLE按照指定的圆心(xcenter, ycenter)和半径(radius)用指定的颜色和写模式画一个圆。所有的xcenter,ycenter和radius都是有效的。圆的任何超出当前视口的矩形部份将不会绘制。
Drwfillbox(画填充的矩形)
原型 extern void far drwfillbox (PixelMode mode, int colr, int x1,int y1, int x2, int y2)
输入 mode - 写点模式
colr - 颜色索引值
x1, y1 - 左上角
x2, y2 - 右下角
输出 无返回值
用法 DRWBOX以(x1, y1)和(x2, y2)为对角顶点用指定的颜色和写模式画一个填充的矩形。不必精确给出四个顶点的坐标,而只需给出矩形相对的两顶点坐标。矩形任何超出当前视口的部份将不会绘制。
drwfillcircle(画填充的圆)
原型 extern void far drwfillcircle (PixelMode mode, int colr, int xcenter, int ycenter, int radius)
输入 mode - 写点模式
colr - 颜色索引值
xcenter, ycenter - 圆的圆心位置
radius - 圆的半径
输出 无返回值
用法 DRWCIRCLE按照指定的圆心(xcenter, ycenter)和半径(radius)用指定的颜色和写模式画一个填充的圆。所有的xcenter,ycenter和radius都是有效的。圆的任何超出当前视口的矩形部份将不会绘制。
drwline(画线)
原型 extern void far drwline (PixelMode mode, int colr, int x1, int y1, int x2, int y2)
输入 mode - 写点模式
colr - 颜色索引值
x1, y1 - 直线的一端
x2, y2 - 直线的另一端
输出 无返回值
用法 DUWLINE以(x1, y1)和(x2, y2)为顶点用指定的颜色和写模式画一条直线 。所有x1,y1,x2和y2的值都是有效的。直线任何超出当前视口的矩形部份将不会绘制。
drwpoint(画点)
原型 extern void far drwpoint (PixelMode mode, int colr, int x, int y)
输入 mode - 写点模式
colr - 颜色索引值
x, y - 待写点的位置
输出 无返回值
用法 DRWPOINT在(x,y)处用指定的颜色和写模式画一个点。如果点(x,y)位于当前视口的外面将不会绘制。
drwstring(画ASCII字符)
原型 extern void far drwstring (PixelMode mode, int fcolr, int bcolr, const char far *strng, int x, int y)
输入 mode - 写模式
fcolr - 前景色的索引值
bcolr - 背景色的索引值
strng - 指向待画ASCII字符串的字符型指针
x,y - 绘制块的左上角
输出 无返回值
用法 DRWSTRING从strng开始提取以‘/0’结尾的ASCII字符串创建一个如同BLKGET和BLKPUT使用的图形块。字符串以当前字体用fcolr绘制,背景色为bcolr。当使用0(NO_ACTION)时,图形块在内存中创建,可用GETLASTSTRING得到,但不在屏幕上绘制。(注意:系统字体在调用WHICHVGA时自动安装)。
Fillpage(页颜色填充)
原型 extern void far fillpage (int colr)
输入 colr - 颜色索引值
输出 无返回值
用法 FILLPAGE用指定的颜色擦除当前的活动页,页中所有的信息都将丢失。(注意:清除一页最快的方法是调用RES###函数。这将复位图形屏幕,将其用0索引颜色擦除,默认底板也将复位。)
Fillscreen(屏幕颜色填充)
原型 extern void far fillscreen (int colr)
输入 colr - 颜色索引值
输出 无返回值
用法 FILLSCREEN用指定的颜色擦除整个屏幕。屏幕上的所有信息都将丢失。(注意:清除一页最快的方法是调用RES###函数。这将复位图形屏幕,将其用0索引颜色擦除,默认底板也将复位。)
Fillview(当前setview设置视窗颜色填充)
原型 extern void far fillview (int colr)
输入 colr - 颜色索引值
输出 无返回值
用法 FILLWIEW用指定的颜色擦除当前视口,其中所有的信息都将丢失。
Fontset(字体设置)
原型 extern void far fontset (Font far *font)
输入 font - Font型指针
输出 无返回值
用法 FONTSET将font中的字体数据加载到当前字体中。结构Font长4098个字节,前两个字节分别为字体的宽度和高度。
1.2 显存页操作
Pageactive(设置当前操作页)
原型 extern int far pageactive (int page)
输入 page - 被激活的页号
输出 成功返回1,否则返回0
用法 PAGEACTIVE按指定的页号page设置活动页。它通过在发生换块时产生一个附加的偏移来起作用。这个函数不影响实际的显示。一页定义为一个64K块,以满足当前的屏幕分辨率。例如,640*480的分辨率需要307,200个字节也就是4.5个64K块多一点儿。在这种分辨率下一页为5块。
Pagedisplay(当前显示页)
原型 extern int far pagedisplay (int x, int y, int page)
输入 x,y - 显示位置的左上角坐标
page - 被激活的页号
输出 成功返回1,否则返回0
用法 PAGEDISPLAY告诉显卡从显存的什么位置开始显示。这个显示偏移通过指定的page,x,y计算得到。具体来说就是当前屏幕分辨率乘以y、加上x再加上相应数目(page)的64K块。X,y和page必须都是正数,但是不被限定。如果数值反常地大显示会扭曲。扭曲会发生在从一边到另一边或从存储器的高端到低端。
Setview(设置视口)
原型 extern void far setview (int x1, int y1, int x2, int y2)
输入 x1,y1 - 视口的左上角
x2,y2 - 视口的右下角
输出 无返回值
用法 SETVIEW在屏幕上定义一个剪裁的视口。在当前视口之外不能绘制任何图象。函数SES###将当前视口定义为整个屏幕。x1,y1,x2,y2有如下限制:
0< x1 < x2 < (屏宽)
0< y1 < y2 < (32767,最大的有效值)
图形类库:
|
|
|
DOS运行环境下SVGACC的例子
|
完整博文见:http://blog.chinaunix.net/u2/61789/showart_527302.html
仅作摘录

加载中…