计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

VGA16色模式下的图像漫游(1)

2014-11-05 01:39
导读:计算机应用论文论文,VGA16色模式下的图像漫游(1)样式参考,免费教你怎么写,格式要求,科教论文网提供的这篇文章不错:VGA是微机显示的廉价适配器,因而在其上实现图形图像处理的成本较低。在目前
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.常数定义及函数说明 (转载自http://zw.NSEaC.com科教作文网)
/*文件名:scroll.h* /
# define XP1 16 /* 窗口左上角坐标 */
# define YP1 32
# define XP2 591 /* 窗口右下角坐标*/
# define YP2 415
# define LEFT 0x4b
# define RIGHT 0x4b
# define UP 0x48
# define DOWN 0x50
# define INDEXREG1 0x3CE /* VGA图形控制器索引寄存器 */
# define VALREG1 0x3CF /* VGA图形控制器数据寄存器 */
# define INDEXREG2 0x3C4 /* VGA定序器索引寄存器*/
# define VALREG2 0x3C5 /* VGA定序器数据寄存器 */
·# define VGABASE 0xA0000000L /* VGA 640*480 16色模式起始地址 */
void savewin (char *,int,int,int,int,int,int);
void Loadwin (char *,int,int,int,int,int,int,int);
void scroll_x (int,int,int,int,int);
void scroll_y (int,int,int,int,int)
2、功能函数
/* 文件名:function.cpp*/
# include
    上一篇:邮政开展电子商务第三方物流业务的研究与思考 下一篇:没有了