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

正文內(nèi)容

第8章繪圖、字體和位圖-文庫吧資料

2025-07-26 12:26本頁面
  

【正文】 mLastChar。 // 非 0表示加下劃線 BYTE tmStruckOut。 // 字體的粗細(xì) BYTE tmItalic。 // 字體中字符平均寬度 int tmMaxCharWidth。 // 字符內(nèi)標(biāo)高 int tmExternalLeading。 // 高于 基準(zhǔn)線部分的值 int tmDescent。 計(jì)算字符的幾何尺寸 在 CDC類中 , GetTextMetrics(LPTEXTMETRIC lpMetrics)是用來獲得指定映射模式下相關(guān)設(shè)備環(huán)境的字符幾何尺寸及其它屬性的 , 其 TEXTMETRIC結(jié)構(gòu)描述如下: typedef struct tagTEXTMETRIC { int tmHeight。 UINT GetTextAlign( ) const。 文本對齊方式的設(shè)置和獲取是由 CDC函數(shù) SetTextAlign和 GetTextAlign決定的 。 int SetBkMode( int nBkMode )。 virtual COLORREF SetBkColor( COLORREF crColor )。 它們的原型如下: virtual COLORREF SetTextColor( COLORREF crColor )。 本格式化屬性 文本的格式屬性通常包括文本顏色、對齊方式、字符間隔以及文本調(diào)整等。 需要說明的是,默認(rèn)時(shí),上述文本輸出函數(shù)既不使用也不更新“當(dāng)前位置”。 str, int nTabPositions, LPINT lpnTabStopPositions, int nTabOrigin )。 virtual CSize TabbedTextOut( int x, int y, LPCTSTR lpszString, int nCount, int nTabPositions, LPINT lpnTabStopPositions, int nTabOrigin )。 str )。 virtual BOOL TextOut( int x, int y, LPCTSTR lpszString, int nCount )。lf)。 pDCSetTextColor(())。 if (()==IDOK) { (amp。 // 將 lf中的所有成員置 0 CFontDialog dlg(amp。 memset(amp。 // 判斷是否是斜體 字體與文字處理 例如下列代碼是通過字體對話框來創(chuàng)建一個(gè)字體的: LOGFONT lf。 // 判斷是否有下劃線 BOOL IsBold( ) const。 // 返回用戶選擇的字體粗細(xì)程度 BOOL IsStrikeOut( ) const。 // 返回用戶選擇的字體大小 COLORREF GetColor( ) const。 // 返回用戶選擇的字體名稱 CString GetStyleName( ) const。 當(dāng)字體對話框 DoModal返回 IDOK后 , 可使用下列的成員函數(shù): void GetCurrentFont( LPLOGFONT lplf )。 // 刪除字體對象 2. 使用字體對話框 CFontDialog類為我們提供了字體及其文本顏色選擇的通用對話框 。 字體與文字處理 pDCSelectObject(oldfont)。 // 在設(shè)備環(huán)境中使用字體 CFont* oldfont = pDCSelectObject(amp。 (amp。(), 黑體 )。 = GB2312_CHARSET。lf, 0, sizeof(LOGFONT))。 根據(jù)定義的邏輯字體 , 用戶就可以調(diào)用 CFont類的 CreateFontIndirect函數(shù)創(chuàng)建文本輸出所需要的字體 , 如下面的代碼: LOGFONT lf。 在結(jié)構(gòu)成員中 , lfHeight表示字符的邏輯高度 , 這里的高度是字符的純高度 。 // 字符的間隔和字體的類型 TCHAR lfFaceName[LF_FACESIZE]。 // 裁剪精度 BYTE lfQuality。 // 字符集 , 漢字必須為 GB2312_CHARSET BYTE lfOutPrecision。 // 下劃線標(biāo)志 BYTE lfStrikeOut。 // 字體的粗細(xì)程度 BYTE lfItalic。 // 傾角 LONG lfOrientation。 // 字體的邏輯高度 LONG lfWidth。 邏輯字體的具體屬性可由 LOGFONT結(jié)構(gòu)來描述 。 當(dāng)然 , 這個(gè)當(dāng)前位置還可用函數(shù) CDC::GetCurrentPosition來獲得 , 其原型如下: CPoint GetCurrentPosition( ) const。 n 在畫直線時(shí) , 總存在一個(gè)稱為 “ 當(dāng)前位置 ” 的特殊位置 。 當(dāng)與OnDraw類似的還有 OnPaint函數(shù) 。 pDCSelectObject(oldBrush)。 // 繪制小方塊 } pDCPolyline(pt,nCount)。 ptDraw[j].y = ptRect[j].y+pt[i].y。 j4。 pt[i].y = (int)(data[i]/*())。 inCount。 deta = ()/nCount。 POINT pt[256]。 POINT ptRect[4] = {{3,3},{3,3},{3,3},{3,3}}, ptDraw[4]。 // 創(chuàng)建畫刷 CBrush* oldBrush = pDCSelectObject(amp。gridPen)。 // 將畫筆對象與其構(gòu)造的內(nèi)容分離 , 以便能再次構(gòu)造畫筆 (0,0,RGB(0,0,200))。 } pDCSelectObject(oldPen)。 j++) // 繪制水平線 { pDCMoveTo(,+j*dy)。 } for (int j=0。 i++) // 繪制垂直線 { pDCMoveTo(+i*dx,)。 for (int i=0。 CPen* oldPen = pDCSelectObject(amp。 CRect gridRect(,+dx*gridXnums,+dy*gridYnums)。 int dx = ()/gridXnums。// 獲得客戶區(qū)的大小 簡單圖形的繪制 (50,50)。 CRect rc。 ASSERT_VALID(pDoc)。 [例 Ex_GDI] 繪制簡單圖形 , 其結(jié)果如右圖所示 。 n 畫刷也可用位圖來指定其填充圖案 , 但該位圖應(yīng)該是 8 8像素 , 若位圖太大 , Windows 則只使用其左上角的 8行 8列的像素 。 CBrush( int nIndex, COLORREF crColor )。 // 填充樣式 } LOGBRUSH。 // 風(fēng)格 COLORREF lbColor。 // 創(chuàng)建填充樣式畫刷 與畫筆相類似 , 也有一個(gè) LOGBRUSH 邏輯結(jié)構(gòu)用于畫刷屬性的定義 , 并通過 CBrush的成員函數(shù) CreateBrushIndirect來創(chuàng)建 , 其原型如下: BOOL CreateBrushIndirect( const LOGBRUSH* lpLogBrush )。 CBrush類根據(jù)畫刷屬性提供了相應(yīng)的創(chuàng)建函數(shù) , 例如創(chuàng)建填充色畫刷和填充樣式畫刷的函數(shù)為 CreateSolidBrush和 CreateHatchBrush, 它們的原型如下: BOOL CreateSolidBrush( COLORREF crColor )。 簡單圖形的繪制 創(chuàng)建畫刷 畫刷用于指定填充的特性 , 許多窗口 、 控件以及其他區(qū)域都需要用畫刷進(jìn)行填充繪制 , 它比畫筆的內(nèi)容更加豐富 。 值得注意的是: n 當(dāng)修飾畫筆的寬度大于 1個(gè)像素時(shí) , 畫筆的風(fēng)格只能取 PS_NULL、 PS_SOLID或 PS_INSIDEFRAME, 定義為其他風(fēng)格不會(huì)起作用 。// POINT結(jié)構(gòu)的 y不起作用 ,而用 x表示畫筆寬度 COLORREF lopnColor。 此函數(shù)用由 LOGPEN結(jié)構(gòu)指針指定的相關(guān)參數(shù)創(chuàng)建畫筆 , LOGPEN結(jié)構(gòu)如下: typedef struct tagLOGPEN { /* lgpn */ UINT lopnStyle。 其中 , 參數(shù) nPenStyle、 nWidth、 crColor分別用來指定畫筆的風(fēng)格 、 寬度和顏色 。 // 結(jié)果為 (0, 0, 350, 200) ASSERT(rectInter == CRect(0, 0, 350, 200))。 // 結(jié)果為 (125, 75, 150, 95) ASSERT(rectInter == CRect(125, 75, 150, 95))。 CRect rectInter。 例如: CRect rectOne(125, 0, 150, 200)。 BOOL UnionRect( LPCRECT lpRect1, LPCRECT lpRect2 )。 成員函數(shù) IntersectRect和 UnionRect分別用來將兩個(gè)矩形進(jìn)行相交和合并 , 當(dāng)結(jié)果為空時(shí) 返回 FALSE, 否則返回 TRUE。 void InflateRect( LPCRECT lpRect )。 由于它們的操作是相互的 , 也就是說 , 若指定 InflateRect函數(shù)的參數(shù)為負(fù)值 , 那么操作的結(jié)果是縮小矩形 , 因此下面只給 出 InflateRect函數(shù)的原型: void InflateRect( int x, int y )。 3. CRect類的常用操作 由于一個(gè) CRect類對象包含用于定義矩形的左上角和右下角點(diǎn)的成員變量 , 因此在傳遞 LPRECT、 LPCRECT或 RECT結(jié)構(gòu)作為參數(shù)的任何地方 , 都可以使用 CRect對象來代替 。 若從 CPoint對象減去一個(gè) CPoint對象 , 則返回一個(gè) CSize對象 。 若向 CRe
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1