计算机与信息技术论文UNIX操作系统提供了X-Window图形窗口系统和OPENLOOK图形用户界面,这些系统不仅昂贵、庞大,而且不便于移植以前开发的DOS图形应用程序。本文介绍利用微机内部硬件控制,针对EGA/VGA图形适配器,进行直接视频图形程序设计。对于比较熟悉PC-AT体系结构和视频程序设计知识的程序员来说,更喜欢后者,因为能有效地利用硬件特性,加快图形处理速度。进行图形程序设计时,还须考虑视频接口的一个重要特性——虚拟终端功能,因为它答应控制几个独立的图形应用窗口,答应多个应用程序在同一个终端上进行切换。本文提供针对IBM标准终端对虚拟终端进行有效管理的手段。微机UNIX直接视频图形程序设计有两种方法,一种是利用设备驱动程序(见参考文献1),另一种是针对IBM标准终端进行编程,本文介绍后者。一、图形程序设计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)它返回显示方式的值,这些值在包含文件vtkd.h中均有定义,如:SW-VAG640x480C为VGA适配器设置成640x480分辨率彩色图形模式。(2)设置图形模式直接将图形模式值放入ioctl中的命令项即可设置相应的图形模式,如ioctl(0,SW-VGA640x48