微机UNIX直接视频图形程序设计理工论文(含目录).docVIP

微机UNIX直接视频图形程序设计理工论文(含目录).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机UNIX直接视频图形程序设计理工论文(含目录) 文档信息 主题: 关于“IT计算机”中“linux或Unix相关”的参考范文。 属性: F-00RL5X,doc格式,正文3144字。质优实惠,欢迎下载! 适用: 作为文章写作的参考文献,解决如何写好实用应用文、正确编写文案格式、内容摘取等相关工作。 目录 TOC \o 1-9 \h \z \u 目录 1 正文 1 搞要 2 关键字:微机,UNIX,直接,视频,图形,程序设计,理工,论文 2 一、图形程序设计 2 1.检测视频适配器 2 2.初始化图形系统 2 (1) 获取当前的视频显示方式 2 (2) 设置图形模式 3 (3) 获取图形模式下视频缓冲区物理地址 3 3.实现基本图素 3 4.关闭图形系统 5 二、虚拟终端的使用 5 参考文献 8 论文原创声明(模板) 8 论文致谢(模板) 9 正文 微机UNIX直接视频图形程序设计理工论文(含目录) 搞要 摘要:一、图形程序设计1.检测视频适配器视频显示器是由视频适配器硬件控制的,视频适配器决定了图形方式下显示图形的分辨率及可能的颜色2。利用系统调用ioctl中的CONS-CURRENT命令可以检测到当前的视频适配器,即:ioctl(0,CONS-CURRENT,NULL)返回-1时表示 关键字:微机,UNIX,直接,视频,图形,程序设计,理工,论文 一、图形程序设计 1.检测视频适配器 视频显示器是由视频适配器硬件控制的,视频适配器决定了图形方式下显示图形的分辨率及可能的颜色[2]。利用系统调用ioctl中的CONS-CURRENT命令可以检测到当前的视频适配器,即: ioctl(0,CONS-CURRENT,NULL) 返回-1时表示出错,即没有相应的视频适配器硬件,如果检测到VGA卡则返回值为VGA,如果检测到EGA卡则返回值为EGA, 2.初始化图形系统 初始化图形必须完成下列任务。 (1) 获取当前的视频显示方式 ioctl的CONS-GET命令用来判断当前适配器的显示方式,即: ioctl(0,CONS-GET,NULL) 它返回显示方式的值,这些值在包含文件中均有定义,如:SW-VAG640x480C为VGA适配器设置成640x480分辨率彩色图形模式。 (2) 设置图形模式 直接将图形模式值放入ioctl中的命令项即可设置相应的图形模式,如ioctl(0,SW-VGA640x480C,NULL) 将VGA适配器设置成640x480分辨率的彩色图形模式。 (3) 获取图形模式下视频缓冲区物理地址 利用ioctl的MAPCONS命令可以实现此功能,即: char *scrnmem; scrnmem=(char *)ioctl(0,MAPCONS,NULL) 所有实现基本图素的操作都将针对scrnmem进行,scrnmem就是EGA/VGA相应的四个位平面的重叠地址,有关EGA/VGA的结构可参阅[2] 3.实现基本图素 DOS操作系统下,对EGA/VGA的各种视频I/O寄存器进行操作是很方便的,可以直接使用汇编语言in和out指令进行读写。然而,UNIX操作系统下,对物理硬件的访问都是由UNIX系统核心和设备驱动程序管理的,要访问EGA/VGA的各种I/O寄存器,必须获得对其访问的特权,为了实现这种功能要求,可以使用下列ioctl系统调用方式: ioctl(0,VGA-IOPRIVL,1) 获取VGA的各种I/O寄存器的访问特权 ioctl(0,EGA-IOPRIVL,1) 获取EGA的各种I/O寄存器的访问特权 UNIX操作系统基本上是采用C语言编写的,只是在低层的系统内核方面才使用低级的汇编语言,遵循这一原则,对EGA/VGA的I/O寄存器的访问可以采用汇编语言,而实现图形系统的基本图素则采用C语言。 如果用户的UNIX系统中已有inb()和outb()函数(嵌入在/usr/include/sys/中),则可以直接使用它们完成对各种I/O寄存器的读写,否则,必须编写下列低级汇编语言例程: /*向一端口输出一字节* /*从一端口输入一字节 * void outb(int port,uchar value) -asm push edx -asm mov edx,port -asm mov al,value -asm out dx,al -asm pop edx uchar inb(int port) -asm push edx -asm mov edx,port -asm in al,dx -asm pop edx 基本图素一般包括:设置颜色,对调色板的操作,画点、线、弧、矩形、圆、椭圆、多边形、画扇形、饼图,任意图形填

文档评论(0)

行业资料 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档