freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

windowsgdi雙緩沖繪圖技術(shù)研究---畢業(yè)論文-全文預(yù)覽

2024-12-12 02:32 上一頁面

下一頁面
  

【正文】 llipticRgnIndirect(LPCRECT lpRect); 參數(shù) lpRect指向一個 RECT結(jié)構(gòu)或是 Crect對象,通過該參數(shù)可以定義出所要創(chuàng)建的橢圓形區(qū)域的邊界矩形。 }RECT。 該區(qū)域的范圍被限制在 32, 76732 , 767邏輯單位,當(dāng)不在使用由該成員函數(shù)創(chuàng)建的 區(qū)域?qū)ο髸r,應(yīng)用程序應(yīng)該調(diào)用 CGDIObject:: DeleteObject()成員函數(shù)將該區(qū)域?qū)ο髣h除。 初始化 CRgn對象 對區(qū)域?qū)ο筮M(jìn)行初始化可以采用以下幾種方法: ● 使用成員函數(shù) CreateRectRgn()直接創(chuàng)建一個矩形區(qū)域, BOOL CreateRectRgn(int x1,int y1,int x2,int y2)。在窗口中,一個區(qū)域 可以是橢圓形的或是多邊形的。 TCHAR lfFaceName[LF_FACESIZE]。 BYTE lfOutPrecision。 BYTE lfItalic。 LONG lfWidth。高 4位指定了字體族。該參數(shù)說明怎樣裁剪位于裁剪區(qū)之外的部分字體。表 3— 6列出了預(yù)定義的字符常量的值。 表 3— 5字體的濃度值 —— 粗細(xì)程度 常 量 值 常 量 值 FW_DONTCARE 0 FW_SEMIBOLD 600 FW_THIN 100 FW_DEMIBOLD 600 FW_EXTRALIGHT 200 FW_BOLD 700 FW_ULTRALIGHT 200 FW_EXTRABOLD 800 FW_LIGHT 300 FW_ULTRABOLD 800 FW_NORMAL 400 FW_BLACK 900 FW_REGUNAL 400 FW_HEAVY 900 FW_MEDIUM 500 參數(shù) bItalic:確定字體是否為斜體。 參數(shù) nOrientation:定義了角度 (以 1/ 100為單位 ),該角度是一個字符的基線與 x軸的夾角。 CFont類對象 調(diào)用 CrateFont函數(shù)來選擇一種字體時,需要的很多參數(shù),該成員函數(shù)的原型聲明如下; BOOL CrateFont(int nHeight int nWindth、 int nEscapement、 int nOrientation、 int nWeight、 BYTE bItalic、 BYTE bUnderline、 BYTE cStrikeOut、BYTE nCharSet、 BYTE nOutPrecision,BYTE nCliPrecision、 BYTE nQuality、 BYTE nPitchAndFamily、 LPCTSTR IpszFacename)。該畫刷可以被選進(jìn)任何一種設(shè)備環(huán)境以便支持光柵操作。該函數(shù)原型聲明如下: BOOL CreateBrushIndirect(const LOGBRUSH*lplogBrush); 其中的 lplogBrush參數(shù)是指向 LOGBRUSH結(jié)構(gòu)的指針。 參數(shù)如前所述。 參數(shù) crColor指定了由結(jié)構(gòu) COLORREF定義的畫刷顏色,該顏色值是由定義在 文件中的 RGB宏指定的。 HS_HORIZONTAL 水平陰影線。 HS_CROSS 水平線和垂直線相交的十字交又線。如果是表示陰影線的畫刷,則該參數(shù)指定的是陰影線的顏色。 throw(CResourException)。 CBrush(COLORREF Color)。 CBrush類 該類封裝了 Windows的圖形設(shè)備接口 (GDI)刷子。為了創(chuàng)建一個具有特定屬性的畫筆對象主要工作是重量 LOGPEN結(jié)構(gòu)的成員變量,該函數(shù)的原型聲明如下; BOOL CreatePenlndirrect(LPLOGPEN lpLogPen); 參數(shù) IpLogPen是指向 LOGPEN結(jié)構(gòu)的指針,在該結(jié)構(gòu)中有 3個成員變量,定畫筆的風(fēng)格、寬度和顏色。 CPen對象 ● 調(diào)用 CreatePen()成員函數(shù) CreatePen()成員函數(shù)通過指定線形、線寬和顏色等畫筆屬性參數(shù)直接創(chuàng)建一個具有特定線形、線寬和顏色的畫筆對象,其原型聲明如下: DOOL CreatePen(int nPenStyle,int nWidth,COLORREF crColor)。第二個值指定了第一個空隙的長度等。 參數(shù) nStyleCount:以雙字為一個單元指定 lpSty1e矩陣的長度。 成員 lbHatch指定了陰影線畫刷的陰影線的樣式。 BS_NULL 與參數(shù)值為 BS_HOLLOW定義相同的畫刷。 BS_DIBPATTERNPT 由設(shè)備無關(guān)的位圖( DIB)定義的圖形畫刷。 該結(jié)構(gòu)定義了一個畫刷的風(fēng)格,顏色和陰影線種類。 參數(shù) pLogBrush:指向一個 LOGBRUSH結(jié)構(gòu)。 PS_JOIN_BEVEL 成尖角連接。 (該風(fēng)格只對裝飾畫筆可用 ) PS_USERSTYLE 創(chuàng)建一個使用由用戶提供的風(fēng)格矩陣的囚筆。 第三個構(gòu)造函數(shù)帶有 5個參數(shù),下面分別加以介紹: 參數(shù) nPenStyle:功能同上,除了具有上一個構(gòu)造函數(shù)中所介紹的參數(shù)值外,還新增了如 表 3— 2所列的參數(shù)值。 PS_DASHDOTDOT 創(chuàng)建一個雙點線畫筆,該值只有當(dāng)畫筆寬度小于 1個設(shè)備單位或更小時才有效 PS_NULL 創(chuàng)建一個空線畫筆。 表 3— 1 參數(shù) nPenStyle的值 參數(shù)值 注 釋 PS_SOLID 創(chuàng)建一個實線畫筆。 第一個構(gòu)造函數(shù)不帶任何參數(shù),由于它所構(gòu)造的只是一個未初始他的 CPen對象,對該 CPen對象進(jìn)行初始化的方法將在本節(jié)后面詳細(xì)介紹,另外,該構(gòu)造函數(shù)總是可以被成功調(diào)用的。 CPen類 該類封裝了 Windows圖形設(shè)備接口 (GDI)畫 筆,主要通過構(gòu)造函數(shù)來創(chuàng)建繪圖對象。 通常 情況下,我們都是使用 GDI繪圖對象類所創(chuàng)建的對象進(jìn)行繪制各種圖形的,就好像畫家手里必須拿著畫筆才能作畫一樣。 ● CFont —— 字體是一種具 有某種風(fēng)格和尺寸的所有字符的完整集合,它常常被當(dāng)作 資源存于磁盤中,其中有一些還依賴于某種設(shè)備。正如上面所提到的,它們都是 CGdiObject類的派生類。通過本小結(jié)的介紹了解設(shè)備接口 GDI 、設(shè)備環(huán)境( DC)、在視圖內(nèi)繪圖 Windows識別環(huán)境的構(gòu)造方法,以及它們的初始化。有了這個設(shè)備環(huán)境指針,人們就可以直接調(diào)用 CDC類中的成員函數(shù)來完成各種各樣的 繪制工作了。 下面的 OnDraw函數(shù)是由 AppWizard直接生成的: viod CmyView::OnDraw(CDC*pDC) { CmyDoc*pDoc=GetDocument()。 上面介紹了有關(guān)計算機(jī)繪圖的一些基本理論知識,下面我們來看 —— 如何使用vc什在應(yīng)用框架的視圖內(nèi)繪圖 OnDraw成員函數(shù) 在視圖內(nèi)繪圖常用的是使用 OnDraw函數(shù)。如果調(diào)用不成功,則返回值為 NULL。 (Windows 對任何刪除庫存 GDI對象的動作都將不予理會。 //對先前的繪圖對象進(jìn)行恢復(fù); pDC SelectObject(pOldPen)。 CPen NewPen(PS_SOLID,1,RGB(0,0,0))。 對于用戶來說根本不需要使用 CGdiObject類的對象,然而,用戶必須使用其派生類的對象。在 Windows應(yīng)用程序中繪制或編輯圖形時可以調(diào)用這些函數(shù)。 ● DeleteObject()函數(shù) DeleteObject()函數(shù)可以刪除畫筆、畫刷、字體、位圖、區(qū)域或調(diào)色板對象,并釋放所有與該對象相關(guān)的系統(tǒng)資源,當(dāng)對象被刪除之后,則指定對象句柄將無效。 CDC類專門為特定類型的 GDI對象提供了 5種版本, 包括畫筆、畫刷、字體、位圖和區(qū)域。工作區(qū)中的部分區(qū)域(更新區(qū)域是由InvalidateRect()函數(shù)或 InvalidateRgn()函數(shù)設(shè)定的,也可以在窗改變足寸,移動,滾動等影響工作區(qū)的操 作之后,由系統(tǒng)設(shè)定更新區(qū) 域。 在該結(jié)構(gòu)中, hdc成員變量表示顯示器設(shè)備環(huán)境句柄, fErase成員變量用于指定是否要擦除背景,而成員變量配 rcPaint則指定了需要繪圖的屏幕矩形。 B00L fRestore。 ● BeginPaint()函數(shù) BeginPaint()函數(shù)為在指定的窗口中畫圖做準(zhǔn)備工作,并把 PAINTSTRUCT結(jié)構(gòu)中,其原型聲明如下: CDC*CWnd:: BeginPain (LPPAINTSTRUCTlpPaint) 其中 IpPaint參數(shù)是指向 PAINTSTRUCT結(jié)構(gòu)的指針。 ● ReleaseDC()函數(shù) ReleaseDC()用于釋放一個設(shè)備環(huán)境,以便該設(shè)備環(huán)境可以被其他應(yīng)用程序申請便用。及時釋放設(shè)備環(huán)境,是 — 個編程者應(yīng)該養(yǎng)成的良好習(xí)慣。對于私有的設(shè)備環(huán)境, GetDC()成員函數(shù)保持它先前所具有的屬性不變。 下面列出 了與設(shè)備環(huán)境有關(guān)的常用函數(shù)。當(dāng)完成繪圖操作之后,應(yīng)用程序應(yīng)該調(diào)用 CWnd:: ReteaseDC()和 CWnd::EndPaint函數(shù)來釋放設(shè)備環(huán)境 [7][10]。當(dāng)然, 這個重畫區(qū)域內(nèi)的其他圖形元素同時也會重畫 [7][8][9]。例如在一個窗口中,已經(jīng)繪制了 n 條直線,這個窗口的完整性可能會被破壞 (如被對話框覆蓋 ),當(dāng)破壞完整性的程序結(jié)束時, 即覆蓋取消,這個窗口就會接受到一個 WM_PAINT消息,得到此消息后,撤活消息處理函 數(shù) (如 OnPaint)進(jìn)行窗口繪制。他們之間區(qū)別的另一個方面是:在 CWindowDC繪圖類下,坐標(biāo)系是建立在整個屏幕上的,在像素坐標(biāo)方式下,坐標(biāo)原點在屏幕的左上角,而在 CpaintDC和 CClientDC繪圖類下,坐標(biāo)系是建立在客戶區(qū)上的,在像紊坐標(biāo)方式下,坐標(biāo)原點在客戶區(qū)的左上角。 CpaintDC 這是創(chuàng)建響應(yīng) WM_PAINT Windows消息的設(shè)備描述表。 表 2— 3 CDC類的派生類的簡介 派生類名稱 說 明 CClientDC 這是一個設(shè)備描述表,提供對窗口客戶區(qū)域的圖形訪問。 表 2— 2介紹了在基類 CDC中一些比較有用的成員函數(shù)。分為 4種類型:顯示器型,打印機(jī)型,內(nèi)存型和信息型。如果用戶想繪制其他顏色的線條,必須用另一種所需顏色的畫筆代替缺省的畫筆。接著才能進(jìn)行 GDI函數(shù)的調(diào)用,執(zhí)行適合于設(shè)備環(huán)境 DC的命令。因此,各種 GDI函數(shù)會自動參考被稱為 “ 設(shè)備環(huán)境 ” 的數(shù)據(jù)結(jié)構(gòu)進(jìn)行繪制工作。換句話說,也就是相當(dāng)于一個關(guān)于圖形顯示的函數(shù)庫。為了使用 GDI和 DC來繪圖必 須完成以下工作: ● 確定刪繪圖對象,如畫筆、畫刷和字體等。 本章主要介紹了本課題設(shè)計背景、研究內(nèi)容、研究意義。 (GDI)。而屏幕閃爍是由于動態(tài)圖形的顯示需要不斷更新屏幕中的內(nèi)容,我們按 常規(guī)顯示方式會在清屏?xí)r出現(xiàn)閃爍現(xiàn)象。本文就是以 Visual C++為開發(fā)平臺,設(shè)計出一套具有 良好顯示效果的動態(tài)波形顯示應(yīng)用程序,并闡述了運用雙緩沖方式繪圖提高繪制圖形速度的方法和解決了動態(tài)圖形的顯示屏幕閃爍問題的關(guān)鍵技術(shù)。 【標(biāo)題】 Windows GDI雙緩沖繪圖技術(shù)研究 【作者】 冉毅軍 【關(guān)鍵詞】 Windows GDI 雙緩沖 閃爍 繪圖技術(shù) 【指導(dǎo)老師】 楊增寶 【專業(yè)】 物理學(xué) 【正文】 1緒論 直接的動態(tài)圖形的顯示方式有兩個缺點 —— 速度慢和屏幕閃爍。 [1][2] 為解決此問題,我們通常采用雙緩沖方式繪圖,它不但可以解決動態(tài)圖形的顯示屏幕閃爍問題,同時還可以加快繪制圖形速度,是一舉兩得的好算法。這時我們首先要將原先的背景擦除,然后再將新繪制的圖形輸出到屏幕上由于顯示背景不斷的擦除計算機(jī)頻繁的進(jìn)行 I/0操作都使繪制所需的圖形時間變長,從而導(dǎo)致繪制圖形速度急劇下降 。 。通過對本課題的研究,采用雙緩沖方式繪圖,它不但可以解決屏幕顯示動態(tài)圖形屏幕閃爍問題,同時還可以加快繪圖速度,具有良好顯示效果的動態(tài)圖形顯示。 通過確定設(shè) 備環(huán)境 (DC)的 “ 狀態(tài) ” ,以確定圖形的顏色,尺寸等屬性 [3]。 GDI 前面提到的圖形設(shè)備接口 (GDI),表示的是一個抽象的接口。也就是說,對于 Windows編程不允許直接訪問顯示硬件,而必須通過和特定窗口相關(guān)聯(lián)的 “ 設(shè)備環(huán)境 ” 跟顯示硬件進(jìn)行通訊。用戶在繪圖之前,必須獲取繪圖窗口區(qū)域的一個 設(shè)備環(huán)境 DC。例如: Windows缺省的 DC包括了一個黑色畫筆,任何所繪制的線條都是黑色的 [5][6]。另外,應(yīng)該注意的是,在 Windows的設(shè)備環(huán)境是 GDI的關(guān)鍵元素,它代表了不同的物理設(shè)備。在 MFC中,提出這些派生類的目的就是為了在不同的顯示設(shè)備上進(jìn)行顯示 [7]。 CDC各派生類各有特點,并可以完成不同的功能,表 2— 3介紹了各派生類的主要功能。想要創(chuàng)建獨立于設(shè)備的
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1