DOS真彩色模式下真彩色图像显示技术(1)
2015-11-09 01:25
导读:计算机应用论文论文,DOS真彩色模式下真彩色图像显示技术(1)样式参考,免费教你怎么写,格式要求,科教论文网提供的这篇文章不错:
摘要 该文通过介绍Cirrus GD5434卡等几种高、真彩色卡及其显示模
摘要 该文通过介绍Cirrus GD5434卡等几种高、真彩色卡及其显示模式,详述了DOS环境下与硬件无关的VESA高彩色仿真真彩色、真彩色图像全息显示的一般性方法,还提示了24位PCX真彩色图像解压缩快速显示编程的要点。最后给出C语言编程示例。一、高、真彩色显示卡
近年来,顺应CAD、CG及多媒体技术进步的要求,许多彩色适配器板卡厂商先后推出性能价格比较高的一系列高彩色(High Color)和真彩色(True Color)SuperVGA显示卡。如Trident Microsystems公司的TGUI94XX、TGUI96XX,Cirrus Logic的GD543X、GD544X,Tseng Laboratories的ET4000, ARK Logic的ARK1000,、ARK2000,S3 Incorporated的 S3 86CXXX等等。它们除了继续支持标准VGA模式外,都支持16色、256色、32K高彩色、64K高彩色及16.7M真彩色VESA BIOS 扩展模式,版本大多为VESA 1.2, 卡上具有32K、64K及16.7M DAC,有16位ISA、32位VESA、32位 PCI总线等多种接口,显示VRAM配置一般有1M、2M、4M,一般都带有硬件加速的32位或64位图形加速引擎(Graphics Engine),满足了当今386~586各种档次的PC机对更多色彩、更高分辨率的要求。
表1整理了市场上常见的GD5434(64位GUI)、TGUI9440AGi(32位GUI)和ARK2000PV(64位GUI)三种PCI总线高、真彩色显示卡的OEM BIOS调用模式号、色彩数、分辨率、VESA模式对照及其相应的VRAM占用等数据。其他支持 VESA 1.2的显示卡只要查阅卡附手册得到OEM(原始设备制造商)自定义的高、真彩色模式号或其对应的VESA模式号。有些配4M VRAM的显示卡甚至可支持1280×1024 16M色(VESA 1.2 11BH模式)。
表1二、高、真彩色编程与256色编程的异同
高、真彩色模式编程在写视频缓冲区端口索引号、页切换方式、置模式号等方面类同扩展256色编程,例如,Trident的高、真彩色显示卡,写视频缓冲区端口索引号仍是(0x3C4, 0xE)和(0x3C5, page^2),视频窗口页粒度仍是64, 页切换方式仍是64K 页、128K页任选。不同点在于:高、真彩色模式已经不再使用256组DAC寄存器索引号及调色板概念,而使用像素字长的RGB 分量数据直接描述色彩及饱和度,写视频缓冲区映射到VRAM后由新的64K DAC或16M DAC将色彩数据转为模拟信号送多频彩色显示器,256 色编程中有关调色板的BIOS中断全部失去作用;其次,由于用多个字节表示一个像素,高、真彩色DAC 转换的时间成倍增加,显示速度过分依赖卡上图形引擎(Graphics Engine)的效率,再加上数据成倍占用RAM或VRAM,所以显示速度明显慢于256色图像显示。
(科教作文网http://zw.ΝsΕac.cOM编辑) 另外,不同厂商自定义的访问端口寄存器索引号的方式均各不相同,直接根据硬件特性的编程必然缺乏通用性。若按照这些显示适配卡都支持的 VESA ( VideoElectronics Standards Association)标准扩展BIOS功能调用接口编程,从而实现软件接口层次上的兼容性,所编程序便可在众多的Super VGA卡上运行,有关 VESA编程的详细资料请查阅有关书刊。
表2是高、真彩色像素的分量结构示意,是理解高、真彩色图像编程的关键。
表2三、24位PCX图像格式简介
24位PCX图像的文件头同16色、256色的一样,共128字节, 其中每个像素所用的彩色位数(bit-perpixel)值为8,彩色平面数(color-planes)值为3, 不再使用调色板。24位PCX图像数据的存储仍采用有限行程压缩法,但却是把单个的RGB行作为三个位平面数据分别进行压缩存放,第一个位平面由该行所有红色像素组成;第二个位平面由该行所有绿色像素组成;第三个位平面由该行所有蓝色像素组成,因为行程编码方法并不是总能减小24位复杂图像的大小,所以对24位PCX 文件进行解码得到的结果图像比原来的小也属正常。本文所用24 位PCX 文件格式符合PCPaintbrush Version 5标准,是从Photo Styler 1.0的TIF图例转换的。
将上述解压缩的数据用于显示时,需按显示卡硬件高、真彩色DAC送色彩信号的顺序--红绿蓝红绿蓝......--重新组织,才能正确地显示24位真彩色图像。这一点是最不同于其他用三字节行程编码的24位RGB真彩色图像(如24位TGA)。其它格式24位的真彩色图像文件只是图像头处理及解压数据的方式不同,显示的原理则完全相同。文后所附例程作适当改变,就可用于24位TIF、24位BMP、24位TGA 等图像文件的显示。