目 錄
譯者序
前言
第1章 圖像
1.1IMAGEOBJECT 類庫
1.1.1圖像文件格式
1.1.2IMAGEVIEW演示
1.2CIMAGEOBJECT類庫函數調用
1.3IMAGEVIEW剖析
1.3.1打開文件
1.3.2保存文件
1.3.3繪製圖像
1.4載入和顯示圖像概括
1.5創建使用圖像的程序
1.5.1練習一:載入並顯示一幅圖像
1.5.2 練習二:載入四幅圖像
1.5.3練習三:在多個視圖窗口中載入圖像
1.5.4練習四:倒置和翻轉圖像
1.5.5練習五:剪裁和重置圖像大小
1.6在WEB 上
1.6.1Softelvdm
1.6.2LeadToolsPro6.0for
Windows
1.6.3AccuSoft
1.7共享軟件和商業演示
1.7.1ImageGear
1.7.2LeadTools演示
1.8繼續前進
第2章 屏幕效果
2.1SCREENEFFECTS類庫
2.2CSCREENEFFECTS類庫函數
調用
2.3SCREENEFFECTSDEMO剖析
2.3.1繪製圖像
2.3.2暫停效果
2.3.3啓動屏幕效果
2.3.4啓動背景效果
2.3.5停止效果
2.3.6改變圖像
2.3.7定時器
2.4屏幕效果概括
2.5創建使用屏幕效果的程序
2.5.1練習一:一個簡單的屏幕效果
2.5.2練習二:在效果中使用顔色
2.5.3練習三:使用一幅圖像和一種顔色
2.5.4練習四:多重屏幕效果
2.5.5練習五:交互式屏幕效果
2.6在WEB上
2.7繼續前進
第3章 圖像點處理
3.1IMAGEPOINTPROCESSES類庫
3.2CIMAGEPOINTPROCESSES類庫
函數調用
3.3IMAGEPOINTPROCESSES(IMA-
GEVIEW)剖析
3.3.1改變亮度
3.3.2著色
3.3.3轉換成為灰度圖像
3.3.4反轉顔色
3.4圖像點處理概括
3.4.1CHANGEBRIGHTNESS()
3.4.2COLORIZE()
3.4.3MAKEGRAY()
3.4.4REVERSECOLORS()
3.5創建處理圖像的程序
3.5.1練習一:改變圖像的亮度
3.5.2 練習二:同時變亮和變暗
3.5.3練習三:顔色反轉
3.5.4練習四:給圖像著色
3.5.5練習五:轉換為灰度圖像
3.6在WEB 上
3.7共享軟件
3.8繼續前進
第4章 圖像區域處理
4.1CIMA GEAREAP ROCESSES類庫
4.2 CIMAGEAREAPROCESSES類庫
函數調用
4.3AREAPOINTPROCESSDEMO
(IMAGEVIEW)剖析
4.3.1改變對比度
4.3.2輪廓強化
4.3.3均衡調節對比度
4.3.4高通濾波
4.3.5低通濾波
4.3.6中值濾波
4.4區域圖像處理概括
4.4.1CHANGECONTRAST()
4.4.2EQUALIZECONTRAST()
4.4.3MEDIANFIILTER()
4.4.4LOWPASSFILTER()
4.4.5HIGHPASSFILTER()
4.4.6EDGEENHANCE()
4.5創建使用區域圖像處理的程序
4.5.1練習一:對圖像進行中值濾波
4.5.2練習二:對圖像進行高通濾波
4.5.3練習三:對圖像進行低通濾波
4.5.4練習四:均衡調節圖像的對
比度
4.5.5練習五:強化圖像的輪廓
4.6在WEB 上
4.7 共享軟件
4.8繼續前進
第5章 閃屏效果
5.1CSPLASHSCREEN類庫
5.2SPLASHDEMO
5.3CSPLASHSCREEN類庫函數調用
5.4SPLASHDEMO剖析
5.4.1SPLASHDEMO.CPP
5.4.2SPLASHDEMO.H
5.5顯示閃屏效果的簡要說明
5.6 創建使用閃屏效果的程序
5.6.1練習一:創建一個有簡單閃屏
效果的應用程序
5.6.2練習二:創建一個有多幅圖片
閃屏效果的應用程序
5.6.3練習三:創建一個使用圖像處
理技術的應用程序,使閃屏圖
像模糊
5.7 在WEB 上
5.7.1NordenssonLynnAdvertising
5.7.2InstallShield
5.7.3LorrexInc
5.8繼續前進
第6章 獲取TWAIN數據
6.1TWAIN――它到底是什麼
6.2TWAIN的組成
6.3使用TWAIN的優點
6.3.1應用程序開發商的受益
6.3.2圖像源開發商的受益
6.3.3最終用戶的受益
6.4如何獲得支持
6.4.1如何獲得關於TWAIN的資料
6.4.2如何訂購工具包
6.5TWAIN類庫
6.6TWAINDEMO
6.7CSCANNER類庫函數調用
6.8TWAINDEMO剖析
6.8.1CMAINFRAME類
6.8.2允許用戶選擇操作
6.8.3創建一個新文檔
6.8.4保存文件
6.8.5視圖類的構造函數
6.8.6視圖類的析構函數
6.8.7繪製所獲取的圖像
6.8.8在獲取焦點時設置調色闆
6.8.9保存圖像
6.9獲取TWAIN圖像概括
6.10 創建獲取TWAIN數據的程序
6.10.1練習一:獲取圖像並保存到
磁盤文件上
6.10.2練習二:顯示所獲取的圖像
610.3練習三:獲取多幅圖像
6.11在WEB上
6.11.1TWAIN開發人員文件
6.11.2TWAIN教程
6.12 共享軟件和商業演示
6.13 繼續前進
第7章 區域圖
7.1RGNMAPLIB類庫
7.1.1NCSA 數據文件格式
7.1.2注釋文件格式
7.1.3MAKEMAP 程序
7.2REGIONMAP演示
7.3RGNMAPLIB類庫函數調用
7.4REGIONMAP剖析
7.4.1創建和載入對象
7.4.2刪除對象
7.4.3繪製區域
7.4.4檢測鼠標位置
7.4.5鼠標鍵單擊
7.4.6與CRGNMAP類進行交互
7.4.7放大區域圖
7.4.8載入圖像
7.5總結如何載入和顯示區域圖
7.6創建使用區域位圖的程序
7.6.1練習一:使用非洲地圖
7.6.2練習二:創建蝗蟲區域圖
7.7共享軟件和商業演示
7.8繼續前進
第8章 動畫
8.1ANIMATION類庫
8.2CANIMATION類庫函數調用
8.3動畫類中使用的BLIT操作
8.3.1替換BLIT說明
8.3.2XORBLIT說明
8.3.3子圖形BLIT說明
8.4ANIMATIONDEMO剖析
8.4.1啓動定時器
8.4.2實現定時器代碼
8.4.3創建動畫
8.4.4重繪動畫
8.4.5保持動畫
8.4.6設置焦點
8.5總結如何使用動畫
8.6創建使用動畫的程序
8.6.1練習一:創建靜態動畫
8.6.2 練習二:創建一個四幀靜態
動畫
8.6.3練習三:創建XOR動畫
8.6.4練習四:創建子圖形動畫
8.7在WEB 上
8.7.13D動畫
8.7.2有關動畫的圖書
8.8共享軟件和商業演示
8.9繼續前進
第9章 視頻
9.1WINDOWS視頻
9.2VIDEO類庫
9.3VIDEOPLAYER演示
9.4播放AVI文件
9.4.1CANIMATECTRL
9.4.2媒體控製接口(MCI)
9.5CVIDEO類庫函數調用
9.6VIDEOPLAYER 剖析
9.6.1打開文件
9.6.2成員函數
9.6.3播放選項
9.7創建使用視頻的程序
9.7.1練習一:播放一個AVI文件
9.7.2練習二:“ABOUT”對話框中的視頻
9.8在WEB上
9.8.1CineWeb
9.8.2Lenel
9.8.3Metagraphics
9.8.4Hyperionics
9.8.5視頻和動畫工具
9.9共享軟件和商業演示
9.9.1AVIConstructor
9.9.2AviLxp
9.9.3WinHelp
9.10 繼續前進
第10章 在應用程序中使用類庫
10.1打印圖像
10.1.1練習一:在打印機上打印簡
單文本
10.1.2練習二:載入 顯示和打印
圖像
10.1.3練習三:放大圖像
10.1.4練習四:使放大的圖像居中
10.1.5練習五:載入 顯示和打印
多幅圖像
10.2將圖像作為應用程序的背景
10.2.1練習六:使用圖像作為視圖
窗口的背景
10.2.2練習七:將圖像平鋪為窗口
背景
10.3從剪貼闆中獲得圖像
10.4在WEB 上
10.4.1VTImageBase
10.4.2Primate圖片庫
10.4.3Garbo 航空圖片庫
10.5繼續前進
第11章 MIDI
11.1MIDI是什麼
11.2MIDI類庫
11.2.1MIDIPLAYER演示
11.2.2答疑
11.3用媒體控製接口播放MIDI文件
11.4CMIDI類庫函數調用
11.5MIDIPLAYER剖析
11.5.1MIDI基礎
11.5.2改變位置和播放速度
11.6創建使用MIDI的程序
11.6.1練習一:在背景中播放
MIDI音樂
11.6.2練習二:高級MIDI播放
11.7在WEB 上
11.7.1Cakewalk
11.7.2VoyetraTechnologies
11.7.3MabrySoftware
11.7.4MidiWeb
11.7.5Crescendo
11.7.6WEB上的文件
11.8共享軟件和商業演示
11.8.1WindChimes
11.8.2MIDIART
11.8.3MIDITool
11.8.4PCALL
11.9繼續前進
第12章 聲音
12.1WAVE類庫
12.2WAVESTUDIO演示
12.3CWAVE類庫函數調用
12.4播放WAV文件
12.4.1PLAYSO〕UND()函數
12.4.2媒體控製接口
12.5DIRECTWAVE類庫
12.6CDIRECTWAVE類庫函數調用
12.7WAVESTUDIO剖析
12.7.1載入聲音
12.7.2播放、停止和關閉
12.7.3錄音和保存
12.8創建使用聲音的程序
12.8.1練習一:播放聲音文件
12.8.2練習二:錄音並保存
12.8.3練習三:使用DIRECT-
SOUND
12.9在WEB上
12.9.1Yahoo!
12.9.2 PlayNow
12.9.3DiamondWare,Ltd
12.9.4CoolEdit
12.9.5RSX3D
12.10 共享軟件和商業演示
12.10.1AWsve
12.10.2 Speak
12.10.3Quack
12.11 繼續前進
第13 章 CD音頻
13.1CDAUDIO類庫
13.2CDAUDIOPLAYER演示
13.3CCDAUDIO類庫函數調用
13.4CDAUDIOPLAYER剖析
13.4.1CD音頻基礎
13.4.2改變位置
13.4.3CD信,息
13.5創建使用CD音頻的程序
13.5.1練習一:作為背景音樂而播放CD音頻
13.5.2 練習二:獲取CD音頻信息
13.5.3練習三:高級CD音頻
13.6在WEB上
13.6.1VoyagerCDLink
13.6.2TegoSof
13.6.3CDRunner
13.7共享軟件和商業演示
13.7.1ProAudioCDPlayer
13.7.2 MultiMediaMixer
13.7.3CDWorx
13.8繼續前進
第14章 調製解調器 網絡和因特網通信
14.1CMESSAGE類庫簡介
14.2通信類型
14.2.1串行通信
14.2.2網絡通信
14.2.3因特網通信(WINSOCK)
14.3CHECKERS演示
14.4CMESSAGE類庫函數調用
14.4.1通過OMESSAGE調用CTALK函數
14.4.2在CMESSAGE、CTALK、
CNETWORK和CINTERNET
類中的專網通信設備項
14.4.3因特網通信設備專用項
14.5CHECKERS剖析
14.5.1初始化變量
14.5.2程序終止前的清理工作
14.5.3畫齣棋盤和棋子
14.5.4檢查鼠標是否選中方格
14.5.5設置運動定時器
14.5.6定時器代碼中的內部事物處
理命令
14.5.7檢查遊戲是否結束
14.5.8鼠標左鍵
14.5.9鼠標右鍵
14.5.10嚮遠端機撥號
14.5.11掛斷
14.5.12發送文本消息
14.5.13 等待命令
14.5.14 開始新遊戲
14.5.15退齣遊戲
14.6將CHECKERS演示程序改為可
在網絡通信中使用的程序
14.6.1從列錶中選擇用戶
14.6.2初始化網絡DLL和解除初
始化
14.6.3從“USERLIST”文件中獲
取結點和地址
14.6.4嚮遠端機撥號
14.6.5等待命令
14.7將CHECKERS演示程序改為可
在因特網通信中使用的程序
14.7.1確認IP地址
14.7.2初始化網絡DLL和解除初
始化
14.7.3嚮遠端機撥號
14.7.4等待命令
14.8總結如何使用CMESSAGE類
14.8.1創建和啓動定時器
14.8.2應答
14.8.3撥號
14.9創建和CMESSAGE庫通信的
程序
14.9.1練習一:使用調製解調器
連接兩颱計算機
14.9.2練習二:使用NOVELL兼
容網絡連接兩颱計算機
14.9.3練習三:通過因特網連接
計算機
14.9.4練習四:發送簡單消息
14.9.5練習五:從遠端機上讀取
消息
14.10在WEB 上
14.11繼續前進
第15章 數據壓縮
15.1COMPRESSEDFILE類庫
15.1.1數據壓縮演示
15.1.2不同的數據壓縮類型
15.2CCOMPRESSEDFILE類庫函數
調用
15.3COMPRESSDEMO剖析
15.3.1打開文件
15.3.2保存文件
15.4壓縮以及解壓縮數據概括
15.4.1讀文件
15.4.2寫文件
15.5創建使用數據壓縮技術的程序
15.5.1練習一:壓縮文件
15.5.2練習二:解壓縮文件
15.5.3練習三:將多個文件壓縮
為一個存檔文件
15.5.4練習四:解壓縮檔案文件
15.6在WEB上
15.7結論
附錄A 關於所附光盤
1.1.1圖像文件格式
ImageObject類庫支持六種圖像文件格式,BMP、GIF、JPG、PCX、TGA和TIF,它們
都有各自的優點和不足。齣於這個原因 應斟酌一下該為自己的應用程序選擇哪一種格式
以下是每種文件格式的簡單介紹
1.1.1.1BMP
MicrosoftWindowsBitmap(BMP)文件格式是MicrosoftWindows操作環境所支持的幾
種圖像文件格式之一。BMP是Windows的原始位圖格式,用來保存任意類型的位圖數據
MicrosoftWindows下運行的絕大多數圖形圖像軟件均支持創建和顯示BMP文件
BMP文件支持所有的屏幕分辨率和Windows所支持的顔色組閤 正因為如此 總是可
以創建齣剛好符閤屏幕設置的BMP文件。
BMP文件幾乎沒有經過任何壓縮。這使它顯得很大 捕捉一幅分辨率為800×600,顔
色為24位色的屏幕圖像會得到一個2743545字節的大文件 由此可見,當考慮到磁盤空間
時,這種文件格式不是一個很好的選擇
1.1.1.2GIF
GIF是圖形交換格式(GraphicsInterchangeFormat) 的縮寫,它的主要特點是通過使用
LZW壓縮而得到很好的壓縮效果 把同樣800×600分辨率24位色的BMP圖像轉化為8
位色後將隻有20KB字節大小。
在追求高色彩的今天,使用GIF的一個缺點是它的8位顔色數的限製。對大多數應用程序
來說這也是足夠的 但對於需要具有照片質量圖像的應用程序而言 這顯然是遠遠不夠的
1.1.1.3JPG
JPG(JPEG)是一種日漸流行的新文件格式。它的主要特點是高壓縮率,甚至比GIF
格式的還要好許多。當然,它是以犧牲圖像的完整性為代價來獲取這種高壓縮率的。
很多時候,損失一小部分圖像質量並不會被注意到 這種情況下,JPG因為它神奇的壓
縮效果將是一種不錯的選擇 同樣800×600分辨率24位色的BMP文件 轉化後隻有
5KB大小。
JPEG常被用作照片圖像,這是因為照片圖像的少量失真很難被發現此時 在文件大
小和圖像質量的損失兩者之間 獲取更小文件容量的因素占瞭上風
1.1.1.4PCX
許多年前,Zsoft為瞭給自己的繪圖軟件PCPaint提供一種具有一定壓縮能力的圖像文
件格式而開發瞭PCX。它的壓縮能力比未壓縮的文件要好一些,但是它使用的編碼機製使
得産生的圖像文件還是比較龐大。
PCX文件的問題之一是8位色的限製 再加上壓縮能力不佳的事實 它將很快地退齣
PC舞颱。
1.1.1.5TGA
TGA(Targa)文件是為瞭支持捕捉視頻圖像的硬件設備而開發的。Targa文件格式使
它可以很容易地將許多視頻信息壓縮到磁盤上,因為隻需對很少的數據進行處理
Targa提供瞭壓縮方案 但一般來說圖像是以未壓縮的格式保存的 某些場閤下Targa
文件具有很大的優勢是因為它支持從單色到多至32位色的圖像
1.1.1.6TIF
TIF全稱是標記圖像文件格式(taggedimagefileformat),它被設計成為一種可適用於
任何場閤的文件格式。因此,這種文件格式很難進行維護。許多軟件供應商或第三方團體對
此文件格式進行瞭修改,加入瞭自己的標記,使得彆人很難跟上此文件格式的變化。
TIF文件仍應用於許多桌麵齣版軟件中,因為它能處理許多光度值,這些值對於處理圖
像而言是必不可少的。它也提供瞭幾種壓縮方案,但更多情況下TIF是未壓縮的。
大多數TIF文件是未壓縮存儲的。沒有經過壓縮的文件載入和保存的速度要比壓縮過
的快。如果想進行圖像處理,筆者建議考慮先以TIF格式進行 直到完成瞭所有的圖像處
理之後再將它以一種壓縮的格式保存
· · · · · · (
收起)