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

正文內(nèi)容

gdiplus開發(fā)文檔-展示頁

2024-08-20 00:42本頁面
  

【正文】 、曲線、圖形、圖像和文本的類。GDI+的中文幫助內(nèi)容位于VS05的“目錄/開發(fā)工具和語言/Visual Studio文檔/基于Windows的應(yīng)用程序、組件和服務(wù)/創(chuàng)建基于 Windows 的應(yīng)用程序/Windows窗體(Windows Forms)/增強(qiáng)Windows窗體應(yīng)用程序/Windows窗體中的圖形和繪制”,其中包括“圖形概述(Windows 窗體)”、“關(guān)于 GDI+ 托管代碼”和“使用托管圖形類”三個子目錄。 }}運行的結(jié)果如圖67 所示。 // A magenta pen with shifting alpha (amp。 x 256。pen, 0, y, 255, y)。 y++) { // 畫綠色透明度水平漸變的線(填滿正方形) Pen pen(Color(y, 0, 255, 0))。 } for (y = 0。redPen, 255, x, y, 255)。bluePen, 0, y, x, 0)。 x 256。 // 創(chuàng)建紅色筆 int y = 255。 // 創(chuàng)建圖形對象 Pen bluePen(Color(255, 0, 0, 255))。接下來就可以利用GDI+進(jìn)行繪圖了。上面的InitInstance和ExitInstance都是應(yīng)用程序類的重寫型成員函數(shù)。語句之前,不然以后會造成視圖窗口不能自動重畫、程序中不能使用字體等等一系列問題。gdiplusStartupInput, NULL)。GdiplusStartup(amp。首先要進(jìn)行GDI+系統(tǒng)的初始化,這需要在應(yīng)用程序類CGDIPlusDemoApp中聲明一個成員變量:ULONG_PTR m_gdiplusToken。n 在應(yīng)用程序類和文檔類中的常用格式為MessageBox(NULL, L提示信息, L標(biāo)題, MB_OK)。解決辦法是:l 在編譯運行時,不使用Debug配置,而改用Release配置;l 運行時不使用調(diào)試運行(F5),而改用不調(diào)試直接運行(Ctrl +F5);l 最好是用靜態(tài)鏈接的MFC庫,而不用DLL動態(tài)庫。Pen(Color::Green), points, n)。pen, points, n)。改為Pen pen(Color::Green)。Pen(Color::Red)。例如你可以將代碼Pen *pPen = new Pen(Color::Red)。對實驗室中的寫保護(hù)機(jī)器,解決辦法是:l 將該頭文件復(fù)制到你的項目目錄中;l 注釋掉該頭文件里面GdiplusBase類的內(nèi)容(保留類定義);l 在你項目中所有的include 語句之前,包含頭文件,形如:include include l ,從而屏蔽掉原來位于平臺SDK的Include目錄中的同名頭文件。(2)new問題不能使用new來動態(tài)創(chuàng)建GDI+對象。其實,只要GDI+的兩個初始化語句放置的位置對(必須放在CWinApp:: InitInstance ()。 UpdateWindow()。RedrawWindow()。 其中,lpRectUpdate為窗口客戶區(qū)中需要重畫的矩形(NULL表示整個客戶區(qū)矩形重畫)、prgnUpdate表示需要重畫的區(qū)域(NULL表示整個客戶區(qū)矩形區(qū)域重畫)、flags為特征標(biāo)志(RDW_INVALIDATE指定范圍無效、RDW_UPDATENOW立即更新、RDW_ERASE擦除背景)。下面是VC05中,GDI+頭文件和動態(tài)鏈接庫文件,缺省所在的目錄:C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\GdiPlus*.hC:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib\下面是VC05中,GDI頭文件和動態(tài)鏈接庫文件,缺省所在的目錄:C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\(API)C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\(MFC)C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib\3)存在的問題另外,VC05與GDI+存在一些問題,例如:(1)重畫問題GDI+程序往往在窗口被創(chuàng)建時,不能自動重畫(沒有自動調(diào)用OnDraw函數(shù))。2)VC中的設(shè)置l 在VS05中,選“項目/*屬性”菜單項,打開項目的屬性頁窗口,先選“所有配置”,再選“配置屬性/鏈接器/輸入”項,在右邊上部的“附加依賴項”欄的右邊,(參見下圖)后按“應(yīng)用”鈕,最后按“確定”鈕關(guān)閉對話框。則其中已經(jīng)包含了該開發(fā)包。包括:l l l 代碼中所需要的頭文件gdiplus*.hl 如果你使用的操作系統(tǒng)是Windows XP或Windows Server 2003,則GDI+所對應(yīng)的動態(tài)鏈接庫,已經(jīng)被包含在其中。4.GDI+的使用下面通過一個簡單的例子,來說明如何使用GDI+進(jìn)行應(yīng)用程序開發(fā)。(onePath)。例如:Region region1(rect1)。GDI+方案一個很好的功能就是GraphicsPath對象在作為參數(shù)傳遞至Region構(gòu)造函數(shù)時不會被破壞(在GDI 中,可以使用PathToRegion函數(shù)將路徑轉(zhuǎn)換為區(qū)域,但在此過程中,路徑將被破壞)。GDI+通過組合圖形和路徑,使得構(gòu)成復(fù)雜區(qū)域十分簡單。GDI+中的Region類提供一個接收Rectangle對象的構(gòu)造函數(shù)和另一個接收GraphicsPath對象的構(gòu)造函數(shù)。7)構(gòu)造區(qū)域GDI提供幾種用于創(chuàng)建區(qū)域的函數(shù)(在MFC中,它們被封裝在CRng類里):CreateRect Rgn、CreateEllpticRgn、CreateRoundRectRgn、CreatePolygonRgn和CreatePolyPolygonRgn。GDI+使用不同的方法來繪制輪廓和填充矩形內(nèi)部。GDI有一個Rectangle函數(shù),可一步完成繪制輪廓和填充矩形內(nèi)部。GDI+從總體上已經(jīng)放棄了當(dāng)前位置的概念。5)無當(dāng)前位置前面所述的DrawLine方法中顯示:線條的起點和終點均被作為參數(shù)接收。 REAL Y。typedef float REAL。 INT Y。其中,typedef int INT。 pt1, const Pointamp。Status DrawLine(const Pen* pen, INT x1, INT y1, INT x2, INT y2)。 pt1, const PointFamp。)例如,畫線的重載方法有:Status DrawLine(const Pen* pen, REAL x1, REAL y1, REAL x2, REAL y2)。(注意,在 .NET、C、Java和VB中,都把類的成員函數(shù)稱為方法。4)方法重載許多GDI+方法都是重載的,即,若干方法共享同一名稱,卻有不同的參數(shù)列表。同樣,Image和Font對象傳遞至DrawImage和DrawString方法。創(chuàng)建和維護(hù)Brush、GraphicsPath、Image 和Font 對象也可以與Graphics對象分開,Graphics類提供的許多繪制方法都將這些對象作為參數(shù)接收。Pen(Color(255, 0 , 0), 3), 20, 10, 200, 100)。myPen, 20, 10, 200, 100)。 // 利用DC句柄創(chuàng)建圖形對象 Pen myPen(Color(255, 0 , 0), 3)。 if (!pDoc) return。void CGdipDemoView::OnDraw(CDC* pDC) { CGdipDrawDoc* pDoc = GetDocument()。l MFC利用MFC進(jìn)行GDI+繪圖,步驟與API的差不多。ps)。 // 利用DC句柄創(chuàng)建圖形對象myGraphicsDrawLine(myPen, 20, 10, 200, 100)。myPen = new Pen(0xffff0000, 3)。hdc = BeginPaint(hWnd, amp。Pen *myPen。WM_PAINT:HDC hdc。DrawLine方法的第一個參數(shù)是Pen對象。 // 畫線}(2)用GDI+畫線l API使用GDI+和托管類接口繪制線條,需要Graphics對象和Pen對象。 // 上兩步可以合并 pDCMoveTo(20, 10)。pen)。 // TODO: 在此處為本機(jī)數(shù)據(jù)添加繪制代碼 CPen pen(PS_SOLID, 3, RGB(255, 0, 0))。 ASSERT_VALID(pDoc)。而且所有的繪圖函數(shù)都被封在CDC類中,所以只能作為其對象的成員函數(shù)才能被使用,當(dāng)然也就不用再帶HDC句柄作為輸入?yún)?shù)了。l MFC利用MFC進(jìn)行GDI繪圖,步驟與API的差不多,只是MFC將各種GDI功能封裝到了不同的類中。ps) 。 // 選原筆入DCDeleteObject(hPen)。 // 最后一個參數(shù)是返回用的舊當(dāng)前點的結(jié)構(gòu)指針LineTo(hdc, 200, 100) 。 // 創(chuàng)建紅色畫筆,寬3hPenOld = SelectObject(hdc, hPen)。ps)。 // 筆句柄HPEN hPenOld。 // DC句柄PAINTSTRUCT ps。而且MoveToEx和LineTo 均將hdc(設(shè)備上下文的句柄)作為參數(shù)接收。調(diào)用MoveToEx,將筆的當(dāng)前位置設(shè)在(20, 10),然后調(diào)用LineTo,在筆的當(dāng)前位置與位置(200, 100) 之間繪制一條線條。在WM_PAINT的消息響應(yīng)代碼中,通過調(diào)用BeginPaint,可以獲得設(shè)備上下文句柄;通過調(diào)用CreatePen,則可以獲得筆句柄。第一個示例調(diào)用GDI,第二個示例則通過托管類接口調(diào)用GDI+;它們都有分別使用API和MFC的兩個版本。可以在一系列的DrawLine調(diào)用的每個調(diào)用中,使用不同的Pen對象,而不必將給定的Pen對象與Graphics對象關(guān)聯(lián)。在設(shè)備上下文中繪制的所有線條均使用該筆,直到選擇另一支不同的筆為止。但是,Graphics對象不受筆、刷、路徑、圖像或字體的約束,這與設(shè)備上下文不同。DC和Graphics對象的作用相似,但在使用設(shè)備上下文(GDI)的基于句柄的編程模式和使用Graphics對象(GDI+)的面向?qū)ο蟮木幊棠P椭g,存在一些基本的差異。pen, x1, y1, x2, y2)。還可以將此句柄作為參數(shù),傳遞給獲取和設(shè)置DC屬性的GDI 函數(shù)。用于屏幕顯示的DC還與特定窗口相關(guān)聯(lián)。3.編程模式的改變GDI+的出現(xiàn),也使基于GDI的編程模式產(chǎn)生了很大變化:GDI+用一個“無狀態(tài)模式”,取代了GDI中(需要先將各種工具和項目選入DC對象后,才能進(jìn)行繪圖的)“狀態(tài)模式”。另外,GDI+不支持圖的位運算,那么就不能進(jìn)行異或繪圖等操作。但是,這并不等于GDI+ 就能夠完全代替GDI。GDI+支持BMP、GIF、JPEG、EXIF、PNG、TIFF、ICON、WMF、EMF共9種常見的圖像格式。圖66顯示四個用相同顏色(紅色)填充、但透明層次不同的橢圓。使用α混色,可以指定填充顏色的透明度。圖65 區(qū)域的三種變換(縮放、旋轉(zhuǎn)和平移)6)α混色在圖65中,可以在變換區(qū)域(用藍(lán)色陰影畫筆填充)中看到未變換區(qū)域(用紅色填充)。而GDI+在全局坐標(biāo)中存儲區(qū)域,并且允許區(qū)域發(fā)生任何可存儲在變換矩陣中的變換(如縮放和旋轉(zhuǎn))。圖64 路徑的變換5)可伸縮區(qū)域GDI+ 通過對可伸縮區(qū)域(Scalable Regions)的支持極大地擴(kuò)展了GDI。單一的33矩陣可存儲一種變換或一個變換序列。矩陣對象一般與變換對象聯(lián)合使用。繪圖操作不會破壞GraphicsPath 對象,因此可以多次使用同一個GraphicsPath 對象來繪制路徑。圖63 基數(shù)樣條路徑和折線路徑3)持久路徑對象在GDI 中,路徑屬于設(shè)備上下文,并且會在繪制時被毀壞?;鶖?shù)樣條平滑地(沒有銳角)通過數(shù)組中的每一個點,因此,比通過連接直線創(chuàng)建的路徑更光滑精準(zhǔn)?;鶖?shù)樣條是一連串單獨的曲線,這些曲線連接起來形成一條較長的光滑曲線。圖62顯示了用路徑漸變畫筆填充的路徑(該路徑是用一對貝塞爾樣條創(chuàng)建的)。圖61 水平和斜式漸變畫筆用路徑漸變畫筆填充圖形時,可選擇不同的方法來指定當(dāng)從圖形的一部分至另一部分移動畫筆時顏色的變化方式。用類似方法定義的垂直漸變畫筆填充的圖形,顏色從上到下變化。例如,假定通過指定圖形左邊為藍(lán)色、右邊為綠色,創(chuàng)建了一個水平漸變畫筆。漸變畫筆還可用于繪制直線、曲線和路徑。通過這些類和接口可以實現(xiàn):l 使用筆繪制線條和形狀l 使用刷填充形狀l 使用圖像、位圖和圖元文件l α混合線條和填充l 字體和文本l 構(gòu)造并繪制曲線l 用顏色漸變的梯度刷填充形狀l 構(gòu)造并繪制軌跡l 變換l 圖形容器l 區(qū)域l 重新著色l 讀取元數(shù)據(jù)等非常豐富強(qiáng)大的功能。GDI+的托管類接口則包含大約60個類、50個枚舉和8個結(jié)構(gòu)。GDI+中的新功能之一是子像素消除鋸齒,它可以使文本在LCD 屏幕上呈現(xiàn)時顯得比較平滑。3)文字顯示版式就是使用各種字體、字號和樣式來顯示文本。GDI+提供了Image、Bitmap和Metafile類,可用于顯示、操作和保存位圖。擁擠的棒球運動場的高分辨率數(shù)字照片會更難以使用矢量技術(shù)來制作。2)圖像處理某些種類的圖片很難或者根本無法用矢量圖形技術(shù)來顯示。GDI+提供了Metafile類,可用于記錄、顯示和保存圖元文件。還有幾種
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1