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

正文內(nèi)容

可視化編程技術(shù)(4)(已修改)

2025-05-28 17:46 本頁面
 

【正文】 0 繪 圖 ? 設(shè)備文本 ? CPoint, CSize和 CRect ? 繪圖工具 ? 繪圖函數(shù) ? 文本處理 ? 位圖和位操作 ? 圖標(biāo)和光標(biāo) ? 編程范例 1 設(shè)備文本 (Device Context) ?是當(dāng) windows程序必須向一個(gè)設(shè)備演示輸出時(shí)所需的存儲(chǔ)信息的結(jié)構(gòu)。 ?設(shè)備文本提供了一張畫布,人們可以在其上繪制點(diǎn)、直線、曲線等一切可見的東西; ?設(shè)備是指圖形既可以在屏幕上顯示,還可以在打印機(jī)、繪圖儀、虛擬現(xiàn)實(shí)的頭盔上顯示; 應(yīng)用 程序 GDI 設(shè)備驅(qū)動(dòng)程序 輸出設(shè)備 Windows應(yīng)用程序經(jīng)過設(shè)備描述表到設(shè)備驅(qū)動(dòng)程序 2 五個(gè)設(shè)備環(huán)境類 – CDC: MFC設(shè)備文本的基類,利用它可以訪問整個(gè)顯示設(shè)備 – CPaintDC:為窗口的 OnPaint函數(shù)所使用的設(shè)備環(huán)境類 – CClientDC: 窗口客戶區(qū) (不包括邊框、標(biāo)題欄和菜單欄 ) – CWindowsDC: 整個(gè)應(yīng)用程序窗口的設(shè)備環(huán)境 – CMetaFileDC: 表示 Windows圖元文件的設(shè)備環(huán)境類 做一個(gè)畫線的程序,演示各個(gè)類的作用 。 CDC *pDC=GetDC()。 pDCMoveTo(m_ptOrigin)。 pDCLineTo(point)。 ReleaseDC(pDC)。 CClientDC dc(this)。 //CClientDC dc(GetParent())。 (m_ptOrigin)。 (point)。 CWindowDC dc(this)。 //CWindowDC dc(GetParent())。 CWindowDC dc(GetDesktopWindow())。 (m_ptOrigin)。 (point)。*/ 3 繪圖使用方法 在堆棧中構(gòu)造對(duì)象: CClientDC myDC(this)。 (……)。 通過 CWnd的 GetDC獲得設(shè)備環(huán)境的指針,此時(shí)注意要調(diào)用 ReleaseDC進(jìn)行釋放 CDC* pDC=GetDC()。 pDCEllipse(……)。 ReleaseDC(pDC)。 Windows限制了可用設(shè)備環(huán)境的數(shù)目,如果設(shè)備環(huán)境沒有被成功地刪除,程序在退出之前有一小部分內(nèi)存就會(huì)丟失 4 CPoint,CSize和 CRect CPoint 封裝了標(biāo)準(zhǔn)結(jié)構(gòu) POINT; POINT p。 = 10。 = 10。 pDCTextOut(, , POINT為一個(gè)結(jié)構(gòu) , 成員只有 x,y)。 CPoint q, q1(10,10), q2(0,100)。 q=q1+q2。 pDCTextOut(, , CPoint為一個(gè)類 ,封裝了 POINT這個(gè)結(jié)構(gòu) , 成員有 x,y,Offset,+,......)。 CSize 封裝了標(biāo)準(zhǔn)結(jié)構(gòu) SIZE。 SIZE的成員只有 cx,cy, 用來定義一個(gè)矩形區(qū)域的大小 (自己練習(xí) ); CRect 封裝了標(biāo)準(zhǔn)結(jié)構(gòu) RECT。 RECT的成員只有 left ,top, right,bottom,用來 定義矩形區(qū)域 (自己練習(xí) ) ; 5 繪圖工具 ?Windows在 設(shè)備文本中提供了許多繪圖工具,如:CPen, CBrush, CFont和 CPalette等,它們的基類是CGdiObject。 ?默認(rèn)的畫筆是黑色的,寬度是一個(gè)像素,默認(rèn)的畫刷是白色的。 ?顏色由 RGB值來指定。 (1) RGB(red, green, blue) (2) 0x 00 FF FF FF B G R 6 選擇庫存對(duì)象(畫筆、畫刷) 選擇庫存對(duì)象 (StockObject)函數(shù)原型 (見 MSDN): virtual CGdiObject *SelectStockObject(int nIndex)。 例子:在 void CTestView::OnDraw中加入代碼: pDCSelectStockObject(LTGRAY_BRUSH)。 //(1)畫圓 pDCEllipse(50,50,150,150)。 pDCSelectStockObject(BLACK_PEN)。 //(2)畫線 pDCMoveTo(10,100)。 pDCLineTo(550,100)。 pDCSelectStockObject(DKGRAY_BRUSH)。 //(3)橢圓 pDCEllipse(200,50,350,150)。 pDCSelectStockObject(NULL_BRUSH)。 //(4)矩形 pDCRectangle(400,50,500,150)。 7 自定義畫筆 1 一步構(gòu)造法: CPen NewPen(PS_SOLID,5,RGB(0,0,255))。 畫筆風(fēng)格是實(shí)線,畫筆寬度是 5,顏色為藍(lán)色; 二步構(gòu)造法 CPen NewPen。 (PS_SOLID,5,RGB(0,0,255))。 8 自定義畫筆 2 將畫筆選入設(shè)備文本對(duì)象 CPen NewPen。 //聲明畫筆對(duì)象 CPen *pOldPen。 //保存原先畫筆指針 (PS_SOLID,5,RGB(0,0,255))。 pOldPen = pDCSelectObject(amp。NewPen)。 //將畫筆選入設(shè)備文本對(duì)象 pDCEllipse(150,100, 300, 200)。 pDCMoveTo(100,200)。 pDCLineTo(350,200)。 pDCSelectObject(pOldPen)。 //恢復(fù)原先的畫筆對(duì)象 9 自定義的畫刷 畫刷決定填充區(qū)域的顏色和風(fēng)格 (1)實(shí)心 (solid) 風(fēng)格 CreateSolidBrush(COLORREF crColor) (2)網(wǎng)格 (hatched)風(fēng)格 CreateHatchBrush(int nIndex, COLORREF crColor) (3)模式 (patterned)風(fēng)格,根據(jù)用戶定義的位圖來繪制 CreatePatternBrush(Cbitmap *pBitmap) 一旦初始化完畫刷,可調(diào)用 CDC的 SelectObject將畫刷選入設(shè)備文本對(duì)象 10 自定義的畫刷舉例 //自定義畫刷 CBrush NewBrush。 CBrush *pOldBrush。 (HS_CROSS,RGB(0,0,255))。 pOldBrush=pDCSelectObject(amp。NewBrush)。 pDCRectangle(100,100,200,200)。 pDCSelectObject(pOldBrush)。 11 繪圖函數(shù) ?繪圖函數(shù)用到的坐標(biāo)都是按邏輯單位給出的,默認(rèn)時(shí),左上角位于坐標(biāo) (0,0)處,邏輯單位為像素。 ?繪圖函數(shù)見 – 設(shè)置像素、設(shè)置當(dāng)前位置、畫簡單線、畫弧、畫矩形、畫橢圓和圓、畫餅圖、畫多邊形 … ... 12 繪圖函數(shù) 1 設(shè)置像素 (SetPixel)、設(shè)置當(dāng)前位置 (MoveTo)、畫線(LineTo)、畫矩形 (Rectangle)、畫橢圓(圓) 畫弧 //pDCRectangle(100,100,300,200)。 //邊界矩形 //pDCMoveTo(200,150)。 pDCLineTo(300,175)。 //起點(diǎn) //pDCMoveTo(200,150)。 pDCLineTo(125,100)。 //終點(diǎn) pDCArc(100,100,300,200, 300,175, 125,100)。 圓角矩形 pDCRoundRect(100,100,300,200, 100,50)。 pDCEllipse(100,100,200,150)。 13 繪圖函數(shù) 2 畫餅圖 // pDCRectangle(100,100,300,200)。 //邊界矩形 pDCPie(100,100,300,200,300,100, 100,100)。 畫多邊形 POINT point[4]。 point[0].x = 100。 point[0].y = 100。 point[1].x = 200。 point[1].y = 200。 point[2].x = 200。 point[2].y = 100。 point[3].x = 100。 point[3].y = 200。 pDCPolygon(point, 4)。 14 填充一個(gè)區(qū)域 FloodFill pDCRectangle(100,100,200,200)。 CBrush NewBrus
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1