《最新VESASVGA圖形圖像編程秘技》是1999年北京航空航天大學出版社出版的圖書,作者是李軍等()。
基本介紹
- 作者:李軍 / 等(編著)
- ISBN:9787810129022
- 頁數:408
- 定價:39.00
- 出版社:北京航空航天大學出版社
- 出版時間:1999-09
- 裝幀:平裝
內容介紹,作品目錄,
內容介紹
本書以最親的VBE標準為基礎,以C語言結合嵌入彙編為編程工具,全面講了SVGA高解析度、256色、32K/64K高彩色、24位/32位真彩色圖形圖編程的方法和技巧。
全書共13章:第一章講述圖形/圖像的高級編程技巧,包括C語言和嵌入彙編的編程技巧;第二章簡單介紹通用的圖像數據格式和常見的圖像格式;第三、第四章詳細地介紹了VGA標準和VBE標準2.0/3.0版;第五章-第十四章敘述圖形/圖像的高級編程技術,包括通用的智慧型化圖像塊顯示與保存、通用的智慧型你塊無級縮放技術、DAC調色板的高級套用技巧、快速的同屏顯示多幅256色圖像技術、通用的SVGA漫技術等高級圖像編程技術。書中還簡要介紹了Cool 3D 、Premiere等圖像處理軟體的使用,使之與圖形/圖像的高級編程配合使用,相得益彰。
本書適合大專院校師生、計算機套用技術人員、電腦程式設計愛好者、從事計算機軟體編程、遊戲開發人員參考使用。
作品目錄
第一章 圖形/圖像編程高手必讀
1.1圖形/圖像程式語言的選擇
1.2提高C程式執行速度的13條秘訣
1.2.1指針與數組
1.2.2遠指針與巨型指針
1.2.3函式指針
1.2.4高效率的語句
1.2.5宏或內嵌碼
1.2.6循環最佳化
1.2.7全局變數
1.2.8查找表
1.2.9彙編程式級上的最佳化
1.2.10嵌入彙編
1.2.11避免浮點運算
1.2.12其他方法(使用Switch和case語句)
1.2.13優秀的算法
1.3最佳化C程式的長度和占用記憶體空間的8大要素
1.3.1使用適當的編譯器、編譯模式和編譯方式
1.3.2改變堆和堆疊的大小
1.3.3動態記憶體分配
1.3.4使用函式的技巧
1.3.5調用系統資源
1.3.6建立自己的圖形系統
1.3.7變數與聯合體
1.3.8嵌入彙編
1.4嵌入彙編高手速成
1.4.1嵌入彙編的效率
1.4.2嵌入彙編的約定
1.4.3嵌入80386/80387彙編指令
1.4.4嵌入彙編的特色
1.4.5嵌入彙編的編譯過程
1.4.6嵌入彙編中的C變數
1.4.7使用嵌入彙編最易犯的兩個極其隱蔽 極其嚴重的錯誤
1.4.8嵌入彙編的調試技巧
1.4.9嵌入彙編的不足
1.4.10實例:嵌入80386指令的擴展記憶體XMS模組
1.5遠指針的重定位
1.5.1問題的提出
1.5.2常用的方法
1.5.3最簡捷的算法
第二章 通用的圖像數據格式與常見的圖像格式
2.1通用的圖像數據格式
2.2PCX檔案格式
2.2.1PCX檔案格式簡介
2.2.2PCX檔案的解壓縮和讀取
2.2.3PCX檔案的壓縮存儲
第三章 標準VGA及Super VGA概述
3.1標準VGA
3.1.1標準VGA的顯示模式
3.1.2標準VGA的結構
3.1.3標準VGA的BIOS 詳解
3.1.4標準VGABIOS的數據區和環境表
3.1.5標準VGA的暫存器
3.2VBE簡介
3.2.1VBE的提出及發展現狀
3.2.2SuperVGA的顯示存儲器
第四章 VESASVGA圖形顯示標準
4.1最新VESA擴展BIOS―VBE3.0詳解
4.1.1VBE功能的調用和返回值
4.1.2VBE功能00h:返回VBE信息
4.1.3VBE功能01h:返回VBE特定模式信息
4.1.4VBE功能02h:設定VESAVBE模式
4.1.5VBE功能03h:獲取當前VESAVBE模式
4.1.6VBE功能04h:保存/恢復當前VESA狀態
4.1.7VBE功能05h:視窗頁面控制功能
4.1.8VBE功能06h:設定/獲取邏輯掃描線長度
4.1.9VBE功能07h:設定/獲取顯示開始位置
4.1.10VBE功能08h:設定/獲取DAC調色板格式
4.1.11VBE功能09h:設定/獲取一組DAC調色板
4.1.12VBE功能0Ah:獲取VESAVBE的保護模式接口
4.1.13VBE功能0Bh: 設定特定模式下的點時鐘頻率
4.2擴充的VBE功能
4.2.1擴充的VBE功能的調用參數
4.2.2擴充的VBE功能0:返回擴充VBE功能信息
4.2.3擴充的VBE功能的保護模式接口
4.2.4擴充的VBE功能10H:擴展的能源管理(PM)
4.2.5其他的擴充VBE功能簡介
4.3VBE的編程方法
4.3.1測試顯示卡對VBE標準的支持:VBETEST.C
4.3.2VESASVGA顯示模式的設定
4.3.3256色DAC調色板的設定與讀取
4.3.4退出VESASVGA圖形環境
第五章 基本的SVGA圖形圖像函式
5.1一組基本函式和宏
5.1.1一組基本函式
5.1.2基本的宏
5.2邏輯操作方式
5.3讀寫點函式
5.3.1256色模式下的讀、寫點函式
5.3.232K/64K高彩色模式下的讀、寫點函式
5.3.324位真彩色模式下的讀、寫點函式
5.3.432位真彩色模式下的讀、寫點函式
5.3.5實例:在各種模式下畫各種色棒
5.4畫 線
5.4.1步進法
5.4.2Bresenham法
5.4.3關於畫線的討論
5.4.4畫線速度的測試與比較
5.4.5畫色彩漸變圖案
5.4.6畫矩形方框
5.5畫 圓
5.5.1Bresenham法
5.5.2改進的Bresenham法
第六章 通用的超級SVGA圖像塊顯示/保存與轉換技術
6.1TC/TC++ BC++BGI函式PUTIMAGE()/GETIMAGE()的不足
6.2常見同類模組的不足
6.3超級的PUTIMAGE()/GETIMAGE()函式
6.3.1增加6條指令 存取超過64KB 的圖像塊
6.3.2分支預測
6.3.3關於換頁
6.3.4關於邏輯功能
6.3.5適用於所有模式的編程技巧
6.3.6putimage()/getimage()函式源程式
6.3.7運行速度的測試與比較
6.4各種顯示模式下圖像塊的相互轉換
6.4.1256色圖像塊轉換成64K高彩色圖像塊
6.4.2256色圖像塊轉換成24位/32位真彩色圖像塊
6.4.364K高彩色圖像塊轉換成24位/32位真彩色圖像塊
6.4.424位/32位真彩色圖像塊轉換成16位高彩色圖像塊
6.4.524位真彩色圖像塊與32位真彩色圖像塊的相互轉換
6.4.6調用相應轉換模組的技巧
6.4.7各種模式下圖像塊相互轉換實例
6.5智慧型化的圖像塊保存、顯示、轉換技術
6.5.1智慧型化的圖像塊保存函式getImage()
6.5.2智慧型化的圖像塊顯示函式putImage0
6.5.3智慧型化的圖像塊轉換函式convertImg()
6.5.4智慧型化的圖像塊保存 顯示 轉換實例
第七章SVGA圖像特技顯示/清屏技巧大曝光
7.1多功能的部分圖像塊顯示函式putpartimage9)
7.1.1為什麼需要部分圖像塊顯示函式
7.1.2函式入口參數的選取與編寫
7.1.3智慧型化的部分圖像塊顯示技術
7.1.4實 例
7.2鏡像:水平翻轉圖像
7.2.1鏡像顯示的原理與putHRevimage()函式的編寫
7.2.2實例:雙面人特技
7.3 以斜線段為單位顯示/消隱圖像
7.3.1用逐步精化的方法設計羅盤特技
7.3.2合嘴式與張嘴式特技
7.3.3射線旋轉式特技
7.3.4斜向百葉窗顯示與清屏
7.4以圓為單位顯示/消隱圖像
7.4.1看似容易的設計
7.4.2巧妙方法實現putcircleimage()函式
7.4.3實 例
7.4.4以曲線為單位顯示/消隱圖像
7.5暗淡:將指定區域的圖像變暗
第八章 超級的SVGA圖像塊無級縮放技術
8.1模組入口參數的初步確定
8.2程式設計基礎
8.2.1對超過64KB圖像塊的處理
8.2.2SVGA支持
8.3算法的核心思想
8.3.1反向思維
8.3.2巧妙避開浮點運算
8.4算法的分析與改進策略
8.5用8038632位彙編指令最佳化
8.6256色模式下的putimageinwin256()函式與實例
8.7與同類無級縮放模組的測試比較
8.7.1運行速度測試
8.7.2占用記憶體空間
8.7.3生成的執行檔的長度
8.7.4顯示質量
8.7.5適用範圍
8.8與單純顯示模組的運行速度比較
8.9適用於高彩色/真彩色模式下的圖像塊無級縮放技術
8.10適用於所有顯示模式的圖像塊無級縮放技術
8.11智慧型化的圖像塊無級縮放技術
8.12圖像塊無級縮放技術實例
第九章 256色DAC調色板的高級套用技巧
9.1SVGA螢幕的談出與談入
9.1.1SVGA螢幕的淡出
9.1.2正確淡入SVGA螢幕的方法
9.1.3淡入談出SVGA螢幕的實例
9.2SVGADAC調色板的正確設定
9.2.1不可忽視的顯示器特性
9.2.2正確高速的設定方法
9.3轉換到灰度圖像
9.4增減顏色分量與流動的調色板
9.4.1增減顏色分量
9.4.2流動的調色板
9.4.3測試實例
9.5同時進行的談入、淡出
9.6極速的同屏顯示多幅256色圖像技術
9.6.1對現有技術的分析
9.6.2同屏顯示多幅256色圖像的原理
9.6.3使用查找表
9.6.4其他加速方法
9.6.5實例:比現有模組快一兩個數量級的速度
9.7高彩色、真彩色圖像塊向256色圖像塊的轉換
9.7.124位/32位真彩色圖像塊轉換成256色圖像塊
9.7.264K高彩色圖像塊轉換成256色圖像塊
9.7.3高彩色 真彩色圖像塊向256色模式圖像塊的轉換實例
第十章 通用的SVGA漫遊與頁面切換技術
10.1漫遊技術的引入及其發展
10.1.1漫遊技術的引入
10.1.2漫遊技術的現狀及其局限性
10.2通用的SVGA圖形圖像漫遊技術
10.2.1基於顯示記憶體VRAM的漫遊
10.2.2利用擴展記憶體XMS漫遊
10.2.3利用硬碟臨時檔案漫遊
10.3SVGA多頁面切換技術
10.3.1實現SVGA多頁面切換技術的一組基本函式
10.3.2實 例
10.4深入套用:有效地防止螢幕截圖
10.4.1截圖軟體的原理及其發展
10.4.2對付螢幕截圖軟體的新思路
第十一章SVGA下英文/漢字和CHR矢量字型的顯示
11.1英文/漢字的顯示與套用
11.1.1英文、數字在SVGA下的顯示
11.1.2點陣漢字在SVGA下的顯示
11.1.3能自動識別英文/數字、漢字的字元串顯示函式及其實例
11.1.4將中英文字元串轉換為圖像塊
11.2 BorlandCHR矢量字型檔的讀取及其實例
第十二章 動畫的製作 編輯 播放與特技播放
12.1漢字立體動畫的製作
12.1.1常見漢字立體動畫製作軟體的比較
12.1.2用COOL3D製作漢字立體動畫
12.2漢字立體動畫的編輯
12.2.1影視剪輯軟體Premiere簡介
12.2.2使用Premiere編輯動畫
12.3FLI/FLC動畫的播放
12.3.1FII/FLC檔案的結構
12.3.2FLI/FLC檔案的播放與特技播放
第十三章 圖像塊的透明顯示
13.1簡單圖像塊的透明顯示技術
13.2複雜圖像塊的透明顯示技術
13.3各種顯示模式下透明顯示的實例
附錄A 關於源程式軟碟
附錄B 關於顯示卡和顯示器的Q&A
1.1圖形/圖像程式語言的選擇
1.2提高C程式執行速度的13條秘訣
1.2.1指針與數組
1.2.2遠指針與巨型指針
1.2.3函式指針
1.2.4高效率的語句
1.2.5宏或內嵌碼
1.2.6循環最佳化
1.2.7全局變數
1.2.8查找表
1.2.9彙編程式級上的最佳化
1.2.10嵌入彙編
1.2.11避免浮點運算
1.2.12其他方法(使用Switch和case語句)
1.2.13優秀的算法
1.3最佳化C程式的長度和占用記憶體空間的8大要素
1.3.1使用適當的編譯器、編譯模式和編譯方式
1.3.2改變堆和堆疊的大小
1.3.3動態記憶體分配
1.3.4使用函式的技巧
1.3.5調用系統資源
1.3.6建立自己的圖形系統
1.3.7變數與聯合體
1.3.8嵌入彙編
1.4嵌入彙編高手速成
1.4.1嵌入彙編的效率
1.4.2嵌入彙編的約定
1.4.3嵌入80386/80387彙編指令
1.4.4嵌入彙編的特色
1.4.5嵌入彙編的編譯過程
1.4.6嵌入彙編中的C變數
1.4.7使用嵌入彙編最易犯的兩個極其隱蔽 極其嚴重的錯誤
1.4.8嵌入彙編的調試技巧
1.4.9嵌入彙編的不足
1.4.10實例:嵌入80386指令的擴展記憶體XMS模組
1.5遠指針的重定位
1.5.1問題的提出
1.5.2常用的方法
1.5.3最簡捷的算法
第二章 通用的圖像數據格式與常見的圖像格式
2.1通用的圖像數據格式
2.2PCX檔案格式
2.2.1PCX檔案格式簡介
2.2.2PCX檔案的解壓縮和讀取
2.2.3PCX檔案的壓縮存儲
第三章 標準VGA及Super VGA概述
3.1標準VGA
3.1.1標準VGA的顯示模式
3.1.2標準VGA的結構
3.1.3標準VGA的BIOS 詳解
3.1.4標準VGABIOS的數據區和環境表
3.1.5標準VGA的暫存器
3.2VBE簡介
3.2.1VBE的提出及發展現狀
3.2.2SuperVGA的顯示存儲器
第四章 VESASVGA圖形顯示標準
4.1最新VESA擴展BIOS―VBE3.0詳解
4.1.1VBE功能的調用和返回值
4.1.2VBE功能00h:返回VBE信息
4.1.3VBE功能01h:返回VBE特定模式信息
4.1.4VBE功能02h:設定VESAVBE模式
4.1.5VBE功能03h:獲取當前VESAVBE模式
4.1.6VBE功能04h:保存/恢復當前VESA狀態
4.1.7VBE功能05h:視窗頁面控制功能
4.1.8VBE功能06h:設定/獲取邏輯掃描線長度
4.1.9VBE功能07h:設定/獲取顯示開始位置
4.1.10VBE功能08h:設定/獲取DAC調色板格式
4.1.11VBE功能09h:設定/獲取一組DAC調色板
4.1.12VBE功能0Ah:獲取VESAVBE的保護模式接口
4.1.13VBE功能0Bh: 設定特定模式下的點時鐘頻率
4.2擴充的VBE功能
4.2.1擴充的VBE功能的調用參數
4.2.2擴充的VBE功能0:返回擴充VBE功能信息
4.2.3擴充的VBE功能的保護模式接口
4.2.4擴充的VBE功能10H:擴展的能源管理(PM)
4.2.5其他的擴充VBE功能簡介
4.3VBE的編程方法
4.3.1測試顯示卡對VBE標準的支持:VBETEST.C
4.3.2VESASVGA顯示模式的設定
4.3.3256色DAC調色板的設定與讀取
4.3.4退出VESASVGA圖形環境
第五章 基本的SVGA圖形圖像函式
5.1一組基本函式和宏
5.1.1一組基本函式
5.1.2基本的宏
5.2邏輯操作方式
5.3讀寫點函式
5.3.1256色模式下的讀、寫點函式
5.3.232K/64K高彩色模式下的讀、寫點函式
5.3.324位真彩色模式下的讀、寫點函式
5.3.432位真彩色模式下的讀、寫點函式
5.3.5實例:在各種模式下畫各種色棒
5.4畫 線
5.4.1步進法
5.4.2Bresenham法
5.4.3關於畫線的討論
5.4.4畫線速度的測試與比較
5.4.5畫色彩漸變圖案
5.4.6畫矩形方框
5.5畫 圓
5.5.1Bresenham法
5.5.2改進的Bresenham法
第六章 通用的超級SVGA圖像塊顯示/保存與轉換技術
6.1TC/TC++ BC++BGI函式PUTIMAGE()/GETIMAGE()的不足
6.2常見同類模組的不足
6.3超級的PUTIMAGE()/GETIMAGE()函式
6.3.1增加6條指令 存取超過64KB 的圖像塊
6.3.2分支預測
6.3.3關於換頁
6.3.4關於邏輯功能
6.3.5適用於所有模式的編程技巧
6.3.6putimage()/getimage()函式源程式
6.3.7運行速度的測試與比較
6.4各種顯示模式下圖像塊的相互轉換
6.4.1256色圖像塊轉換成64K高彩色圖像塊
6.4.2256色圖像塊轉換成24位/32位真彩色圖像塊
6.4.364K高彩色圖像塊轉換成24位/32位真彩色圖像塊
6.4.424位/32位真彩色圖像塊轉換成16位高彩色圖像塊
6.4.524位真彩色圖像塊與32位真彩色圖像塊的相互轉換
6.4.6調用相應轉換模組的技巧
6.4.7各種模式下圖像塊相互轉換實例
6.5智慧型化的圖像塊保存、顯示、轉換技術
6.5.1智慧型化的圖像塊保存函式getImage()
6.5.2智慧型化的圖像塊顯示函式putImage0
6.5.3智慧型化的圖像塊轉換函式convertImg()
6.5.4智慧型化的圖像塊保存 顯示 轉換實例
第七章SVGA圖像特技顯示/清屏技巧大曝光
7.1多功能的部分圖像塊顯示函式putpartimage9)
7.1.1為什麼需要部分圖像塊顯示函式
7.1.2函式入口參數的選取與編寫
7.1.3智慧型化的部分圖像塊顯示技術
7.1.4實 例
7.2鏡像:水平翻轉圖像
7.2.1鏡像顯示的原理與putHRevimage()函式的編寫
7.2.2實例:雙面人特技
7.3 以斜線段為單位顯示/消隱圖像
7.3.1用逐步精化的方法設計羅盤特技
7.3.2合嘴式與張嘴式特技
7.3.3射線旋轉式特技
7.3.4斜向百葉窗顯示與清屏
7.4以圓為單位顯示/消隱圖像
7.4.1看似容易的設計
7.4.2巧妙方法實現putcircleimage()函式
7.4.3實 例
7.4.4以曲線為單位顯示/消隱圖像
7.5暗淡:將指定區域的圖像變暗
第八章 超級的SVGA圖像塊無級縮放技術
8.1模組入口參數的初步確定
8.2程式設計基礎
8.2.1對超過64KB圖像塊的處理
8.2.2SVGA支持
8.3算法的核心思想
8.3.1反向思維
8.3.2巧妙避開浮點運算
8.4算法的分析與改進策略
8.5用8038632位彙編指令最佳化
8.6256色模式下的putimageinwin256()函式與實例
8.7與同類無級縮放模組的測試比較
8.7.1運行速度測試
8.7.2占用記憶體空間
8.7.3生成的執行檔的長度
8.7.4顯示質量
8.7.5適用範圍
8.8與單純顯示模組的運行速度比較
8.9適用於高彩色/真彩色模式下的圖像塊無級縮放技術
8.10適用於所有顯示模式的圖像塊無級縮放技術
8.11智慧型化的圖像塊無級縮放技術
8.12圖像塊無級縮放技術實例
第九章 256色DAC調色板的高級套用技巧
9.1SVGA螢幕的談出與談入
9.1.1SVGA螢幕的淡出
9.1.2正確淡入SVGA螢幕的方法
9.1.3淡入談出SVGA螢幕的實例
9.2SVGADAC調色板的正確設定
9.2.1不可忽視的顯示器特性
9.2.2正確高速的設定方法
9.3轉換到灰度圖像
9.4增減顏色分量與流動的調色板
9.4.1增減顏色分量
9.4.2流動的調色板
9.4.3測試實例
9.5同時進行的談入、淡出
9.6極速的同屏顯示多幅256色圖像技術
9.6.1對現有技術的分析
9.6.2同屏顯示多幅256色圖像的原理
9.6.3使用查找表
9.6.4其他加速方法
9.6.5實例:比現有模組快一兩個數量級的速度
9.7高彩色、真彩色圖像塊向256色圖像塊的轉換
9.7.124位/32位真彩色圖像塊轉換成256色圖像塊
9.7.264K高彩色圖像塊轉換成256色圖像塊
9.7.3高彩色 真彩色圖像塊向256色模式圖像塊的轉換實例
第十章 通用的SVGA漫遊與頁面切換技術
10.1漫遊技術的引入及其發展
10.1.1漫遊技術的引入
10.1.2漫遊技術的現狀及其局限性
10.2通用的SVGA圖形圖像漫遊技術
10.2.1基於顯示記憶體VRAM的漫遊
10.2.2利用擴展記憶體XMS漫遊
10.2.3利用硬碟臨時檔案漫遊
10.3SVGA多頁面切換技術
10.3.1實現SVGA多頁面切換技術的一組基本函式
10.3.2實 例
10.4深入套用:有效地防止螢幕截圖
10.4.1截圖軟體的原理及其發展
10.4.2對付螢幕截圖軟體的新思路
第十一章SVGA下英文/漢字和CHR矢量字型的顯示
11.1英文/漢字的顯示與套用
11.1.1英文、數字在SVGA下的顯示
11.1.2點陣漢字在SVGA下的顯示
11.1.3能自動識別英文/數字、漢字的字元串顯示函式及其實例
11.1.4將中英文字元串轉換為圖像塊
11.2 BorlandCHR矢量字型檔的讀取及其實例
第十二章 動畫的製作 編輯 播放與特技播放
12.1漢字立體動畫的製作
12.1.1常見漢字立體動畫製作軟體的比較
12.1.2用COOL3D製作漢字立體動畫
12.2漢字立體動畫的編輯
12.2.1影視剪輯軟體Premiere簡介
12.2.2使用Premiere編輯動畫
12.3FLI/FLC動畫的播放
12.3.1FII/FLC檔案的結構
12.3.2FLI/FLC檔案的播放與特技播放
第十三章 圖像塊的透明顯示
13.1簡單圖像塊的透明顯示技術
13.2複雜圖像塊的透明顯示技術
13.3各種顯示模式下透明顯示的實例
附錄A 關於源程式軟碟
附錄B 關於顯示卡和顯示器的Q&A