中文国产日韩欧美视频,午夜精品999,色综合天天综合网国产成人网,色综合视频一区二区观看,国产高清在线精品,伊人色播,色综合久久天天综合观看

VGA16色模式下的圖像漫游

時(shí)間:2023-05-01 08:06:31 計(jì)算機(jī)論文 我要投稿
  • 相關(guān)推薦

VGA16色模式下的圖像漫游

VGA是微機(jī)顯示的廉價(jià)適配器,因而在其上實(shí)現(xiàn)圖形圖像處理的成本較低。在目前國內(nèi)流行的C語言中,均提供了基本的作圖函數(shù),如Borlandc C 、Turbo C和MicrosoftC。但還缺少一個(gè)最基本的圖形圖像處理功能-屏幕漫游功能。本文將討論在VGA16色模式下實(shí)現(xiàn)屏幕圖像漫游的方法,并給出C語言的程序供讀者參考。

一、基本構(gòu)思

為了實(shí)現(xiàn)漫游的功能,首先將想像中的大幅圖像分成N×N塊(每塊應(yīng)小于屏幕的分辨率)相同大小的區(qū)域,然后逐次顯示在屏幕上并存放到一個(gè)文件中。這樣就完成了漫游圖的制作?梢栽O(shè)想,文件提供了一個(gè)無限分辨率的虛擬屏幕,存儲(chǔ)著大幅圖像數(shù)據(jù)。

在調(diào)用漫游圖時(shí),將存放在文件中的圖像數(shù)據(jù)的一部分顯示在屏幕上,當(dāng)用鍵盤或鼠標(biāo)控制圖像漫游時(shí),程序首先將屏幕上的圖像移動(dòng)一定的距離,這一過程實(shí)質(zhì)是硬件漫游。當(dāng)屏幕圖像移動(dòng)后,留出的空白位置則從文件中調(diào)出數(shù)據(jù)顯示到屏幕上,這一步實(shí)質(zhì)為軟件漫游。

二、存圖文件的數(shù)據(jù)結(jié)構(gòu)

假設(shè)在文件ZOOM.SCR中存儲(chǔ)了2×2個(gè)VGA(640×480×16色模式)窗口畫面,窗口的范圍如圖1所示。其左上角和右下角的坐標(biāo)分別為(XP1,YP1)、(XP2,YP2),將來就在這一窗口范圍內(nèi)進(jìn)行漫游。

@@T5S11100.GIF;圖1@@

假設(shè)存圖時(shí)每個(gè)窗口大小一樣,高度為d,寬度為w。存圖時(shí)漫游窗口的寬度與起始坐標(biāo)均為8的整數(shù)倍,這樣便于處理。四個(gè)窗口的排號(hào)順序如圖2所示:

@@T5S11101.GIF;圖2@@

在此是實(shí)現(xiàn)2×2畫面的漫游功能,用戶可根據(jù)需要實(shí)現(xiàn)n×n個(gè)畫面的漫游,其方法相同。

三、基本功能函數(shù)

實(shí)現(xiàn)漫游功能主要由以下幾個(gè)函數(shù)實(shí)現(xiàn)

savewin——存圖函數(shù),將屏幕窗口函數(shù)存入文件。

Loadwin——調(diào)圖函數(shù),由文件將圖像數(shù)據(jù)調(diào)入屏幕。

scroll_x——X軸向漫游函數(shù)。

scroll_y——Y軸向漫游函數(shù)。

1.常數(shù)定義及函數(shù)說明

/*文件名:scroll.h* /

# define XP1 16 /* 窗口左上角坐標(biāo) */

# define YP1 32

# define XP2 591 /* 窗口右下角坐標(biāo)*/

# define YP2 415

# define LEFT 0x4b

# define RIGHT 0x4b

# define UP 0x48

# define DOWN 0x50

# define INDEXREG1 0x3CE /* VGA圖形控制器索引寄存器 */

# define VALREG1 0x3CF /* VGA圖形控制器數(shù)據(jù)寄存器 */

# define INDEXREG2 0x3C4 /* VGA定序器索引寄存器*/

# define VALREG2 0x3C5 /* VGA定序器數(shù)據(jù)寄存器 */

·# 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、功能函數(shù)

/* 文件名:function.cpp*/

# include <stdio.h

# include <stdlib.h>

# include <conio.h>

# include "scroll.h"

/*制作漫游圖時(shí)存入窗口函數(shù),

fname存放漫游圖文件;

(xleft,ytop)在屏幕上窗口左上角坐標(biāo);

(xright,ybuttom)在屏幕上窗口左上角坐標(biāo);

number圖號(hào)(0-nxy×nxy-1)

nxy nxy*nxy拼圖*/

void savewin(char *fname,int xleft,int ytop,int xright,int ybuttom,int nu

mber,int nxy)

{

FILE *fp;

int i,width,height;

register j,k;

Long temp,offset,offset1;

char far *base;

widt

[1] [2] [3] [4] 

【VGA16色模式下的圖像漫游】相關(guān)文章:

下色04-29

基于模式特征的圖像壓縮算法05-01

淺談圖形圖像處理課程的教學(xué)模式04-30

漢字圖像模式識(shí)別的早期知覺過程04-28

網(wǎng)絡(luò)模式下的編輯流程04-26

互動(dòng)教學(xué)模式下的詞匯教學(xué)05-02

新課標(biāo)背景下的教學(xué)模式構(gòu)建04-28

網(wǎng)絡(luò)環(huán)境下教學(xué)模式探索05-01

故障模式下的空間交會(huì)防撞設(shè)計(jì)04-27

文化模式下的自我意識(shí)研究04-29