中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

深圳建網(wǎng)站哪個公怎樣無貨源開網(wǎng)店

深圳建網(wǎng)站哪個公,怎樣無貨源開網(wǎng)店,企業(yè)網(wǎng)站報價模板,網(wǎng)站制作公司網(wǎng)站建設(shè)本篇是圖形函數(shù)學(xué)習(xí)的最后一篇,相關(guān)內(nèi)容暫告一段落。 在圖形界面輸出文字,涉及文字字體、大小、顏色、背景、顯示等問題,完成這些需要系列函數(shù)的支持。下面做簡要介紹。 一、輸出文本函數(shù) 原型:virtual BOOL te…

? ? ? ?本篇是圖形函數(shù)學(xué)習(xí)的最后一篇,相關(guān)內(nèi)容暫告一段落。 ??
? ? ? ?在圖形界面輸出文字,涉及文字字體、大小、顏色、背景、顯示等問題,完成這些需要系列函數(shù)的支持。下面做簡要介紹。
?一、輸出文本函數(shù)
? ? ? ?原型:virtual BOOL textOut(int x, int y, LPCTSTR lpszString, int nCount);
? ? ? ? ? ? BOOL TextOut(int x, int y, const CString& string);
? ? ? ?參數(shù):(x,y)輸出文本起點(diǎn)坐標(biāo)
? ? ? ? ? ? lpszString 字符串指針
? ? ? ? ? ? int nCount 字符串長度(LPCTSTR類型獲得字符串長度可用CString(str).GetLength())
? ? ? ? ? ? string 指向CString對象的指針
? ? ? 返回值:顯示成功返回非0數(shù)字,失敗返回0。
? ? ? 說明:
? ? ? ?a.這個函數(shù)屬于CDC類成員函數(shù),使用時需要CDC類對象指針調(diào)用。
? ? ? ?b.關(guān)于文字字符串起始位置,若把字符串看做矩形的話,起始位置是左上角。
? ? ? ?c.如果直接調(diào)用這個函數(shù)輸出文字,則字體、大小、顏色等使用的都是缺省設(shè)置;如需改變這些設(shè)置,需要使用下面這些函數(shù),且需要在輸出文字前進(jìn)行設(shè)置。
? ? ? ?d.關(guān)于參數(shù)中的字符串:多字符集情況下,可以使用char*、LPCTSTR類型聲明對象并用"="直接賦值,也可以使用CString聲明對象,并用對象調(diào)用其成員函數(shù)Format完成賦值;UNICODE情況下,可以使用LPCTSTR類型聲明對象并用"="賦值,也可以使用CString聲明對象,并用對象調(diào)用其成員函數(shù)Format完成賦值,但在字符串引號前要加L。
?二、定義字體函數(shù)
? ? 原型:BOOL CreateFontIndirect(const LOGFONT* lpLogFont);
? ? 參數(shù):lpLogFont是字體屬性結(jié)構(gòu)體(LOGFONT)指針,該結(jié)構(gòu)體的使用見下。
? ? 返回值:定義字體成功返回非0數(shù),否則返回0。
? ? 說明:
? ? ?a.這個函數(shù)時CFont的成員函數(shù),使用時需要CFont對象(指針)調(diào)用。
? ? ?b.字體屬性結(jié)構(gòu)體LOGFONT常用屬性:
? ? ? ?lfHeight; //字體高度、LONG類型
? ? ? ?lfWidth; //字體寬度、LONG類型(取值0時系統(tǒng)自動與lfHeight匹配)
? ? ? ?lfEscapement; //傾角、LONG類型(文本行與X軸夾角,1=1/10度,順時針方向?yàn)檎?#xff09;
? ? ? ?lfOrientation; //文本基準(zhǔn)線、LONG類型
? ? ? ?lfWeight; //字體筆畫粗細(xì)、LONG類型(取值0-900)
? ? ? ?lfItalic; //斜體標(biāo)志、BYTE類型(0標(biāo)準(zhǔn)、1傾斜)
? ? ? ?lfUnderline; //下劃線、BYTE類型
? ? ? ?lfStrikeOut; //刪除線、BYTE類型
? ? ? ?lfCharSet; //字符集、BYTE類型(一般取值GB2312_CHARSET,也可使用DEFAULT_CHARSET)
? ? ? ?lfFaceName[LF_FACESIZE];//字體名、TCHAR類型、如"宋體"、"仿宋"等
? ? ?c.聲明LOGFONT結(jié)構(gòu)體對象后,一般將其用memset函數(shù)全部初始化成0<缺省值>,然后再對需要的屬性進(jìn)行賦值,其它的就使用缺省值。為lfFaceName賦值時,不能使用“=”賦值,若是UNICODE模式,需要使用wcscpy_s函數(shù)賦值;多字符集模式,使用strcpy_s函數(shù)賦值。
? ? ?d.調(diào)用CreateFontIndirect生成的字體后,也需要調(diào)用SelectObject函數(shù)選入CDC,并用CFont*接收其返回值用于恢復(fù)缺省字體。(和使用畫刷相似)
三、設(shè)置文字顏色函數(shù)
? ?原型:virtual COLORREF SetTextColor (COLORREF color);
? ?參數(shù):color COLORREF類型的顏色值(可直接使用16進(jìn)制、也可調(diào)用RGB函數(shù))
? ?返回值:返回原來文本顏色的RGB值,設(shè)置失敗返回CLR_INVALID(0xFFFFFFFF)
? ?說明:
? ? a.該函數(shù)是CDC類的成員函數(shù),使用時需CDC類對象或指針調(diào)用。
? ? b.通過該函數(shù)進(jìn)行文字顏色的設(shè)置,應(yīng)接收其返回值,并在完成文字顯示后恢復(fù)缺省設(shè)置。
四、設(shè)置文字背景顏色函數(shù)
? ? ?原型:virtual COLORREF SetBkColor(COLORREF color);
? ? ?參數(shù):color為COLORREF類型的顏色值
? ? ?返回值:原有的背景色,設(shè)置失敗返回CLR_INVALID(0xFFFFFFFF)
? ? ?說明:
? ? ? ?a.這個函數(shù)是CDC類的成員函數(shù),使用是需CDC類對象或指針調(diào)用。
? ? ? ?b.所謂背景色,僅是顯示文字的背景色,不涉及其它。
五、設(shè)置背景模式函數(shù)
? ? ?原型:int SetBkMode(int nBkMode);
? ? ?參數(shù):nBkMode有兩個取值:OPAQUE(值=2),表示背景顏色設(shè)置生效(默認(rèn)設(shè)置,不調(diào)用這個函數(shù)的效果);TRANSPARENT(值=1),表示背景透明,背景顏色不改變。
? ? ?返回:返回原背景模式。
? ? ?說明:這個函數(shù)的TRANSPARENT模式在實(shí)際使用時,更有用處。也就是:當(dāng)我們設(shè)置了字體顏色,背景顏色隨已有圖形顏色時,就沒必要在設(shè)置背景顏色,只要把背景模式設(shè)置為TRANSPARENT即可。
六、舉例程序
? ? ? ?使用紅(0000FF)、橙(007FFF)、黃(00FFFF)、綠(00FF00)、青(FFFF00)、藍(lán)(FF0000)、紫(FF008B)、黑(000000)八種顏色在自定義坐標(biāo)系中繪制8個填充扇形;每個扇形占半個象限;在扇形中用文字標(biāo)出顏色名。
? ? ? ?步驟一:在CMFC2DGraphView.h中定義一個全局宏,代碼:

#define PI 3.14159

? ? ? ?步驟二:在CMFC2DGraphView.h中,找到CMFC2DGraphView類,在類內(nèi)public:下聲明自定義畫扇形函數(shù),代碼:

 public:
//聲明自定義畫扇形函數(shù)void myPie(double startRad, double endRad, COLORREF fillColor, LPCTSTR str, COLORREF strColor);//參數(shù)說明:startRad-扇形起點(diǎn)弧度、endRad-終點(diǎn)弧度、fillColor-填充顏色、//          str-標(biāo)識文字、strColor-表示文字顏色

? ?步驟三:在CMFC2DGraphView.cpp中實(shí)現(xiàn)myPie函數(shù),代碼:

//實(shí)現(xiàn)自定義畫扇形函數(shù)
void CMFC2DGraphView::myPie(double startRad, double endRad, COLORREF fillColor, LPCTSTR str, COLORREF strColor)
{//自定義坐標(biāo)系CRect rect;GetClientRect(rect);CDC* pDC;pDC = GetDC();/*做一點(diǎn)說明:GetDC()函數(shù)是CWnd類成員函數(shù),使用時需要CWind類對象或指針調(diào)用;但由于我們是在視圖類中作圖,而視圖類的基類就是CWnd類,所以使用this指針就可以調(diào)用,而this指針可以省略,所以這個函數(shù)在視圖類中可以直接使用,就像全局函數(shù)一樣。*/pDC->SetMapMode(MM_ANISOTROPIC); pDC->SetWindowExt(rect.Width(), rect.Height()); pDC->SetViewportExt(rect.Width(), -rect.Height());pDC->SetViewportOrg(rect.Width() / 2, rect.Height() / 2);rect.OffsetRect(-rect.Width() / 2, -rect.Height() / 2);//以當(dāng)前窗口寬、高最小者的35%為扇形半徑int r = min(rect.Width(), rect.Height()) * 0.35;//定義扇形填充顏色畫刷、同顏色畫筆并選入CDCCBrush brush(fillColor);CBrush* oldBrush = pDC->SelectObject(&brush);CPen pen(PS_SOLID, 1, fillColor);CPen* oldPen=pDC->SelectObject(&pen);//繪制扇形pDC->Pie(-r,r,r,-r, r*cos(startRad),r*sin(startRad), r * cos(endRad), r * sin(endRad));//恢復(fù)缺省畫刷、畫筆pDC->SelectObject(oldBrush);pDC->SelectObject(oldPen);//定義字體、字體顏色、背景模式并選入CDCLOGFONT logfont; //字體屬性結(jié)構(gòu)體設(shè)置memset(&logfont, 0, sizeof(logfont));logfont.lfCharSet = DEFAULT_CHARSET;wcscpy_s(logfont.lfFaceName,L"仿宋");logfont.lfHeight = 35;logfont.lfEscapement = (startRad + (endRad - startRad) / 2) * (-180) / PI;CFont cfont; //字體生成cfont.CreateFontIndirectW(&logfont);CFont* oldFont=pDC->SelectObject(&cfont);COLORREF oldColor = pDC->SetTextColor(strColor); //字體顏色設(shè)置pDC->SetBkMode(TRANSPARENT);//顯示文字pDC->TextOutW(r * 0.7 * cos(startRad + (endRad - startRad) / 2)-18,r * 0.7 * sin(startRad + (endRad - startRad) / 2)+18,str, CString(str).GetLength());//恢復(fù)字體、字體顏色、背景模式缺省設(shè)置pDC->SelectObject(oldFont);pDC->SetTextColor(oldColor);pDC->SetBkColor(OPAQUE);ReleaseDC(pDC); //前面用GetDC獲取了pDC,這里要釋放,函數(shù)性質(zhì)同GetDC
}

步驟四:在OnDraw函數(shù)中調(diào)用myPie函數(shù),畫出要求的扇形,代碼:

	myPie(0 * PI / 4, 1 * PI / 4, 0x0000ff, L"紅", 0x000000);//填充紅、文字黑myPie(1 * PI / 4, 2 * PI / 4, 0x007fff, L"橙", 0x8b00ff);//填充橙、文字紫myPie(2 * PI / 4, 3 * PI / 4, 0x00ffff, L"黃", 0xff0000);//填充黃、文字藍(lán)myPie(3 * PI / 4, 4 * PI / 4, 0x00ff00, L"綠", 0x000000);//填充綠、文字黑myPie(4 * PI / 4, 5 * PI / 4, 0xffff00, L"青", 0xff0000);//填充青、文字藍(lán)myPie(5 * PI / 4, 6 * PI / 4, 0xff0000, L"藍(lán)", 0x0000ff);//填充青、文字紅myPie(6 * PI / 4, 7 * PI / 4, 0xff008B, L"紫", 0x00ffff);//填充青、文字黃myPie(7 * PI / 4, 8 * PI / 4, 0x000000, L"黑", 0x00ffff);//填充青、文字黃

? (以上代碼也可以寫成循環(huán),顏色定義成COLORREF數(shù)組)
?七、程序運(yùn)行效果截圖

http://www.risenshineclean.com/news/8902.html

相關(guān)文章:

  • 文化廳網(wǎng)站建設(shè)審核報告單百度客服轉(zhuǎn)人工
  • 濟(jì)南公司網(wǎng)站建設(shè)體驗(yàn)式營銷案例
  • 建設(shè)網(wǎng)站產(chǎn)品圖片顯示不全千鋒教育學(xué)費(fèi)多少
  • 網(wǎng)站建設(shè)免費(fèi)書廣東知名seo推廣多少錢
  • 百度付費(fèi)推廣seo公司上海
  • 公司注銷網(wǎng)站備案申請表網(wǎng)站推廣和優(yōu)化系統(tǒng)
  • 自己買一臺服務(wù)器做自己的網(wǎng)站市場seo是什么
  • 建設(shè)項(xiàng)目社會招標(biāo)上那個網(wǎng)站網(wǎng)絡(luò)推廣哪個平臺效果最好
  • 平安建設(shè)宣傳音頻免費(fèi)下載網(wǎng)站微網(wǎng)站建站平臺
  • 網(wǎng)站建設(shè)后期服務(wù)收費(fèi)標(biāo)準(zhǔn)口碑營銷的成功案例
  • 網(wǎng)站建設(shè)業(yè)務(wù)員論壇漳州seo網(wǎng)站快速排名
  • 可以做pos機(jī)的網(wǎng)站關(guān)鍵詞排名怎么查
  • tripod wordpressseo免費(fèi)課程視頻
  • 如何做自助網(wǎng)站百度如何收錄網(wǎng)站
  • 沈陽建設(shè)工程信息網(wǎng) 最佳中項(xiàng)網(wǎng)公眾號seo排名優(yōu)化
  • 網(wǎng)絡(luò)服務(wù)器設(shè)備福清市百度seo
  • 國家企業(yè)信用信息公示網(wǎng)官網(wǎng)查詢seo平臺有哪些
  • 網(wǎng)站建設(shè)饣金手指科杰十二西安百度
  • 十大黃臺軟件app下載如何提高搜索引擎優(yōu)化
  • css怎么做響應(yīng)式網(wǎng)站排名優(yōu)化外包公司
  • 凡科建站的怎么取消手機(jī)網(wǎng)站怎樣建立自己的網(wǎng)站平臺
  • 哪些網(wǎng)站可以做ppt賺錢域名注冊網(wǎng)
  • stanley工具網(wǎng)站開發(fā)品牌策略
  • 室內(nèi)設(shè)計(jì)學(xué)校排行榜合肥正規(guī)的seo公司
  • 英文版網(wǎng)站案例廣州營銷課程培訓(xùn)班
  • 根據(jù)網(wǎng)站日志做seoseo就業(yè)前景
  • 醫(yī)院網(wǎng)站建設(shè)情況百度競價是什么意思?
  • 免費(fèi)營銷網(wǎng)站制作模板搜索引擎的網(wǎng)址有哪些
  • 溫江建網(wǎng)站免費(fèi)推廣網(wǎng)站有哪些
  • 三五互聯(lián)做網(wǎng)站嗎如何進(jìn)行品牌宣傳與推廣