2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、調(diào)色板調(diào)色板概述調(diào)色板概述每個應用程序都有自己的調(diào)色板使用調(diào)色板時要先向系統(tǒng)申請調(diào)色板分為前臺調(diào)色板和后臺調(diào)色板windows為優(yōu)先級高的程序分配前臺調(diào)色板.我們經(jīng)常會發(fā)現(xiàn)當啟動一個大一點的程序時桌面和其他應用程序的顏色變得粗糙起來就是因為其他應用程序的調(diào)色板正在轉(zhuǎn)為后臺調(diào)色板.Windows系統(tǒng)內(nèi)部保留了一個20種顏色的調(diào)色板用來顯示窗口菜單等通用界面每個設備上下文都擁有一個邏輯調(diào)色板如果要使用內(nèi)部系統(tǒng)調(diào)色板(20種顏色)之外的顏色則

2、應該創(chuàng)建一個新的邏輯調(diào)色板并將其選入到設備上下文中.再把設備上下文中的邏輯調(diào)色板實現(xiàn)到系統(tǒng)調(diào)色板中新的顏色才能實現(xiàn).在邏輯調(diào)色板被實現(xiàn)到系統(tǒng)調(diào)色板時Windows會建立一個調(diào)色板映射表當設備上下文用邏輯調(diào)色板中的顏色繪圖時GDI繪圖函數(shù)會查詢調(diào)色板映射表以把像素值從邏輯調(diào)色板的索引轉(zhuǎn)換成系統(tǒng)調(diào)色板的索引.創(chuàng)建調(diào)色板BOOLCreatePalette(LPLOGPALETTElpLogPalette)其中l(wèi)pLogPalette是一個指向

3、LOGPALETTE結構的指針typedefstructtagLOGPALETTEWDpalVersionwindows版本號一般是0x300WDpalNumEntries調(diào)色板中顏色表項的數(shù)目PALETTEENTRYpalPalEntry[1]每個表項的顏色和使用方法LOGPALETTEtypedefstructtagPALETTEENTRYBYTEpeRed紅(0255)BYTEpeGreen綠BYTEpeBlue藍BYTEpeFl

4、ags一般為0PALETTEENTRY上面只是建立了一個邏輯調(diào)色板而邏輯調(diào)色板只是一張孤立的顏色表并不能對系統(tǒng)產(chǎn)生影響所以要使用調(diào)色板還需要下面這些函數(shù)CPalettePalette(CPalettepPaletteBOOLbFceBackground)這個函數(shù)用來將一個調(diào)色板載入設備上下文第一個參數(shù)是一個調(diào)色板指針第二個參數(shù)用來指定調(diào)色板作為前景色還是背景色使用為TURE時作為背景色使用為FALSE時當窗口是活動窗口或活動窗口的子窗口

5、是調(diào)色板將做為前景色使用否則做為背景色來使用.如果使用調(diào)色板的是一個內(nèi)存設備上下文則該參數(shù)被忽略.UINTRealizePalette()該函數(shù)把設備上下文中的邏輯調(diào)色板實現(xiàn)到系統(tǒng)調(diào)色板中函數(shù)的返回值表明調(diào)色板映射表中有多少項被改變了這兩個函數(shù)的使用如下:CPalettepOldPaletteCWindowDCdc(this)pOldPalette=dc.Palette(Windows是一個多任務操作系統(tǒng),可以同時運行多個程序。如果有幾

6、個程序都要設置調(diào)色板,就有可能產(chǎn)生沖突。為了避免這種沖突,Windows使用邏輯調(diào)色板邏輯調(diào)色板來作為使用顏色的應用程序和系統(tǒng)調(diào)色板(物理調(diào)色板)之間的緩沖。圖11.1調(diào)色板工作原理在Windows中,應用程序是通過一個或多個邏輯調(diào)色板來使用系統(tǒng)調(diào)色板(物理調(diào)色板)。在256色系統(tǒng)調(diào)色板中,Windows保留了20種顏色作為靜態(tài)顏色,這些顏色用作顯示W(wǎng)indows界面,應用程序一般不能改變。缺省的系統(tǒng)調(diào)色板只包含這20種靜態(tài)顏色,調(diào)色板

7、的其它項為空。應用程序要想使用新的顏色,必須將包含有所需顏色的邏輯調(diào)色板實現(xiàn)到系統(tǒng)調(diào)色板中。在實現(xiàn)過程中,Windows首先將邏輯調(diào)色板中的項與系統(tǒng)調(diào)色板中的項作完全匹配,對于邏輯調(diào)色板中不能完全匹配的項,Windows將其加入到系統(tǒng)調(diào)色板的空白項中,系統(tǒng)調(diào)色板總共有236個空白項可供使用,若系統(tǒng)調(diào)色板已滿,則Windows將邏輯調(diào)色板的剩余項匹配到系統(tǒng)調(diào)色板中盡可能接近的顏色上。每個設備上下文都擁有一個邏輯調(diào)色板,缺省的邏輯調(diào)色板只有

8、20種保留顏色,如果要使用新的顏色,則應該創(chuàng)建一個新的邏輯調(diào)色板并將其選入到設備上下文中。但光這樣還不能使用新顏色,程序只有把設備上下文中的邏輯調(diào)色板實現(xiàn)到系統(tǒng)調(diào)色板中,新的顏色才能實現(xiàn)。在邏輯調(diào)色板被實現(xiàn)到系統(tǒng)調(diào)色板時,Windows會建立一個調(diào)色板映射表。當設備上下文用邏輯調(diào)色板中的顏色繪圖時,GDI繪圖函數(shù)會查詢調(diào)色板映射表以把像素值從邏輯調(diào)色板的索引轉(zhuǎn)換成系統(tǒng)調(diào)色板的索引,這樣當像素被輸出到視頻內(nèi)存中時就具有了正確的顏色值。圖1

9、1.2說明了這種映射關系,從圖中讀者可以體會到邏輯調(diào)色板的緩沖作用。在該圖中,GDI繪圖函數(shù)使用邏輯調(diào)色板的索引1中的顏色來繪圖,通過查詢調(diào)色板映射表,得知系統(tǒng)調(diào)色板中的第23號索引與其完全匹配,這樣實際輸出到視頻內(nèi)存中的像素值是23。注意圖中還演示了顏色的不完全匹配,即邏輯調(diào)色板中的索引15和系統(tǒng)調(diào)色板中的索引46。每個要使用額外顏色的窗口都會實現(xiàn)自己的邏輯調(diào)色板,邏輯調(diào)色板中的每種顏色在系統(tǒng)調(diào)色板中都有相同或相近的匹配。調(diào)色板的實現(xiàn)

10、優(yōu)先權越高,匹配的精度也就越高。Windows規(guī)定,活動窗口的邏輯調(diào)色板(如果有的話)具有最高的實現(xiàn)優(yōu)先權。這是因為活動窗口是當前與用戶交互的窗口,應該保證其有最佳的顏色顯示。非活動窗口的優(yōu)先權是按Z順序自上到下確定的(Z順序就是重疊窗口的重疊順序)?;顒哟翱谟袡鄬⑵溥壿嬚{(diào)色板作為前景調(diào)色板實現(xiàn),非活動窗口則只能實現(xiàn)背景調(diào)色板。提示:術語活動窗口(Activewindow)或前臺窗口(Fegroundwindow)是指當前與用戶交互的窗

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論