精品一区二区中文在线,无遮挡h肉动漫在线观看,国产99视频精品免视看9,成全免费高清大全

大屏幕圖像的快速保存和恢復

時間:2023-05-01 08:08:26 計算機論文 我要投稿
  • 相關推薦

大屏幕圖像的快速保存和恢復

摘 要 該文介紹了一種在圖形狀態下能快速保存和恢復任意大小,任意數目的屏幕區域的新算法及其C實現,該算法可代替Turbo C 2.0, Borland C 3.1中的imagesize, getimage, putimage位圖函數,屏蔽內部實現細節。適合于需要保存和恢復大屏幕圖象區域的工程軟件及使用多級菜單窗口軟件系統中。

一、Turbo C Borland C 中的三個位圖操作函數

unsigned far imagesize (int left, int top, int right, int bottom);

void far getimage (int left, int top, int right, int bottom, void far *bitmap);

void far putimage (int left, int top, void far *bitmap);

原型在graphics.h中,這三個函數用于把屏幕上的一個位圖拷貝到主存儲區(640K內),然后把它放回屏幕。getimage將屏幕上的一個矩形區域的位圖拷貝到主存儲區(640K內)中,left、top、right、bottom四個參數用于定義屏幕上的矩形。bitmap指向主存儲區中存放位圖的區域。該區域前兩個Bytes用于存放矩形的寬和高。其余部分存放位圖本身。imagesize決定getimage用于保存指定矩形所需的字節數。它返回的位圖大小包括用于記錄矩形的寬和高的空間。putimage將以前用getimage保存的位圖重新送回屏幕。位圖左上角位于(left, top),bitmap指向主存儲區中存放位圖的區域。

以目前最通用的VGA 640*480*16色方式為例,當需要保存整個屏幕區域時約需640*480/2=153,600 Bytes,約合150 KB左右。而imagesize計算存儲指定目標區域所需字節數,若指定區域要求字節數> = 64K-1則返回0xFFFF (-1),使程序無法存儲。另外,getimage所需的緩沖區是從Heap中申請的或是靜態申請的。因此要占用寶貴的640K常規內存。如果有>=640KB/150KB=5幅的大屏幕圖像需要保存和恢復,則內存將會用盡而出錯。在大型工程軟件項目及各種GUI中,快速保存及恢復屏幕圖像已成為一種良好的界面設計方法,因此本文介紹了一種簡便,易行的新算法用于替換上述標準的位圖操作函數。

二、三個新的位圖函數

void NewGetImage (int left, int top, int right, int bottom, int win-id);

void NewPutImage (int left, int top, int right, int bottom, int win-id);

int NewImageSize (int left, int top, int right, int bottom, int *height, int*block-num);

首先,將需要保存的指定目標區域(left, top,right, bottom)等分成若干個存儲面積小于64KB-1的小矩形塊B1,B2,B3,..., Bn,然后利用標準的imagesize和getimage函數分n次將各塊保存到同一個位圖文件中。文件名形式為"WINXXX. SAV", "XXX"是該區域(或稱為窗口)的標志號,它應是000-999之間的一個值,且是唯一的。如WIN666.SAV.分塊算法如下:

(i)單塊高度=單塊的最大塊長*每字節點數/塊寬度

(ii)分塊總數=指定目標區域高度/單塊高度

(iii)實際分塊總數=分塊總數,如果指定目標區域高度%單塊高度=0

分塊總數 1,如果指定目標區域高度%單塊高度!=0

注:

(a):單塊的最大塊長越大,則單塊高度越大,分塊總數越小,顯示速度越快,但應小于64KB-1,一般取63KB以下。

(b):每字節點數由當前顯示器的圖形方式確定。如當前一個點能夠顯示的最大顏色數為MaxColor,則每字節可存儲的點數為:log2 MaxColor。如對VGA 640 * 480 * 16方式每字節點數=2。用戶需要在初始化圖形方式后,給定每字節點數,本文以如下方式實現:

switch ((getmaxcolor () 1))

{

case 2 :DotPerByte=8; break;

case 4 :DotPerByte=4; break;

case 16 :DotPerByte=2;

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

【大屏幕圖像的快速保存和恢復】相關文章:

保存和恢復CAD的視圖11-08

雷達表盤圖像移動目標的快速識別與跟蹤05-01

基于調制傳遞函數的航天遙感圖像恢復研究04-26

醫學圖像三維重建中的快速表面繪制04-28

一種快速有效的NQR探頭恢復方法04-26

透析袋的預處理和保存06-08

談電子檔案的保存和利用論文04-29

中國涂料行業市場預計2010年恢復快速增長04-30

保存的意思, 保存的解釋04-30

快速閱讀的技能和技巧(2)04-30

主站蜘蛛池模板: 亚洲日本va午夜在线电影| 国产精品永久免费| 精品国产污污免费网站入口| 国产放荡对白视频在线观看| 国产高清不卡一区二区| 国产99视频精品免视看9| 欧美日本精品一区二区三区| 男人的天堂在线视频| 欧美大肥婆bbbww| 最新国产精品精品视频| 国产探花在线精品一区二区| 爆乳熟妇一区二区三区| 男女肉粗暴进来动态图| 国产精品亚洲一区二区在线观看| 三亚私人高清影院品牌加盟费多少| 亚洲日本欧美日韩高观看| 亚洲 欧美 日韩 卡通 另类| 性欧美视频videos6一9| 日本免费一区二区三区| 久久综合狠狠综合久久| 国产精品香蕉在线观看| 日本一码二码三码是什么尺码| 欧美VA亚洲VA在线观看| 国产精品欧美一区二区三区| 欧美 国产 亚洲 卡通 综合| 日日噜噜夜夜狠狠视频| 真实国产老熟女粗口对白| 人妻熟妇乱又伦精品视频中文字幕| 国自产偷精品不卡在线| 精品久久久久久国产| 性xxxx欧美老妇506070| 人人玩人人添人人澡东莞| 爆乳熟妇一区二区三区| 国产精品日韩欧美一区二区三区| 欧美 国产 日产 韩国 在线| 亚洲视频在线观看| 国产裸拍裸体视频在线观看| 亚洲国产欧美在线人成| 精品国产污污免费网站入口| 人人玩人人添人人澡东莞| 好大好硬好爽免费视频|