|
VGA16色模式下的图像漫游
|
|
【计算机网络论文网】vga是微机显示的廉价适配器,因而在其上实现图形图像处理的成本较低。在目前国内流行的c语言中,均提供了基本的作图函数,如borlandc c++、turbo c和microsoftc。但还缺少一个最基本的图形图像处理功能-屏幕漫游功能。本文将讨论在vga16色模式下实现屏幕图像漫游的方法,并给出c语言的程序供读者参考。 一、基本构思 为了实现漫游的功能,首先将想像中的大幅图像分成n×n块(每块应小于屏幕的分辨率)相同大小的区域,然后逐次显示在屏幕上并存放到一个文件中。这样就完成了漫游图的制作。可以设想,文件提供了一个无限分辨率的虚拟屏幕,存储着大幅图像数据。 在调用漫游图时,将存放在文件中的图像数据的一部分显示在屏幕上,当用键盘或鼠标控制图像漫游时,程序首先将屏幕上的图像移动一定的距离,这一过程实质是硬件漫游。当屏幕图像移动后,留出的空白位置则从文件中调出数据显示到屏幕上,这一步实质为软件漫游。 二、存图文件的数据结构 假设在文件zoom.scr中存储了2×2个vga(640×480×16色模式)窗口画面,窗口的范围如图1所示。其左上角和右下角的坐标分别为(xp1,yp1)、(xp2,yp2),将来就在这一窗口范围内进行漫游。 @@t5s11100.gif;图1@@ 假设存图时每个窗口大小一样,高度为d,宽度为w。存图时漫游窗口的宽度与起始坐标均为8的整数倍,这样便于处理。四个窗口的排号顺序如图2所示: @@t5s11101.gif;图2@@ 在此是实现2×2画面的漫游功能,用户可根据需要实现n×n个画面的漫游,其方法相同。 三、基本功能函数 实现漫游功能主要由以下几个函数实现 savewin——存图函数,将屏幕窗口函数存入文件。 loadwin——调图函数,由文件将图像数据调入屏幕。 scroll_x——x轴向漫游函数。 scroll_y——y轴向漫游函数。 1.常数定义及函数说明
|
|
|