加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

DOS平台上SVGACC图形库介绍

(2010-09-16 18:34:23)
标签:

dos平台

svgacc

图形库

it

分类: DOS编程

DOS平台上SVGACC图形库介绍

    SVGACC图形库是由Zephyr Software - Stephen L. Balkum and Daniel A. Sill著于19921994,主要用于DOS平台。

   提供的图形库函数主要有 (用网友baofu.li的翻译) :

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,ycenterradius都是有效的。圆的任何超出当前视口的矩形部份将不会绘制。

 

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,ycenterradius都是有效的。圆的任何超出当前视口的矩形部份将不会绘制。

 

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,x2y2的值都是有效的。直线任何超出当前视口的矩形部份将不会绘制。

 

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 - 绘制块的左上角

  输出  无返回值

  用法  DRWSTRINGstrng开始提取以‘/0’结尾的ASCII字符串创建一个如同BLKGETBLKPUT使用的图形块。字符串以当前字体用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型指针

  输出  无返回值

  用法  FONTSETfont中的字体数据加载到当前字体中。结构Font4098个字节,前两个字节分别为字体的宽度和高度。

 

1.2 显存页操作

 

Pageactive(设置当前操作页)

原型  extern int far pageactive (int page)

  输入  page - 被激活的页号

  输出  成功返回1,否则返回0

  用法  PAGEACTIVE按指定的页号page设置活动页。它通过在发生换块时产生一个附加的偏移来起作用。这个函数不影响实际的显示。一页定义为一个64K块,以满足当前的屏幕分辨率。例如,640*480的分辨率需要307200个字节也就是4.564K块多一点儿。在这种分辨率下一页为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,ypage必须都是正数,但是不被限定。如果数值反常地大显示会扭曲。扭曲会发生在从一边到另一边或从存储器的高端到低端。

 

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,最大的有效值)

 

图形类库:

         

 

 

文件: svgacc25.zip

 

下载: 下载

 

DOS运行环境下SVGACC的例子

 

 

文件: svgaccTest.rar
下载: 下载

 

完整博文见:http://blog.chinaunix.net/u2/61789/showart_527302.html

仅作摘录

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有