当前位置: 首页 > news >正文

深圳建网站哪四川百度推广和seo优化

深圳建网站哪,四川百度推广和seo优化,全套免费代码大全,天津+交友+网站建设本篇是图形函数学习的最后一篇,相关内容暂告一段落。 在图形界面输出文字,涉及文字字体、大小、颜色、背景、显示等问题,完成这些需要系列函数的支持。下面做简要介绍。 一、输出文本函数 原型:virtual BOOL te…

       本篇是图形函数学习的最后一篇,相关内容暂告一段落。   
       在图形界面输出文字,涉及文字字体、大小、颜色、背景、显示等问题,完成这些需要系列函数的支持。下面做简要介绍。
 一、输出文本函数
       原型:virtual BOOL textOut(int x, int y, LPCTSTR lpszString, int nCount);
            BOOL TextOut(int x, int y, const CString& string);
       参数:(x,y)输出文本起点坐标
            lpszString 字符串指针
            int nCount 字符串长度(LPCTSTR类型获得字符串长度可用CString(str).GetLength())
            string 指向CString对象的指针
      返回值:显示成功返回非0数字,失败返回0。
      说明:
       a.这个函数属于CDC类成员函数,使用时需要CDC类对象指针调用。
       b.关于文字字符串起始位置,若把字符串看做矩形的话,起始位置是左上角。
       c.如果直接调用这个函数输出文字,则字体、大小、颜色等使用的都是缺省设置;如需改变这些设置,需要使用下面这些函数,且需要在输出文字前进行设置。
       d.关于参数中的字符串:多字符集情况下,可以使用char*、LPCTSTR类型声明对象并用"="直接赋值,也可以使用CString声明对象,并用对象调用其成员函数Format完成赋值;UNICODE情况下,可以使用LPCTSTR类型声明对象并用"="赋值,也可以使用CString声明对象,并用对象调用其成员函数Format完成赋值,但在字符串引号前要加L。
 二、定义字体函数
    原型:BOOL CreateFontIndirect(const LOGFONT* lpLogFont);
    参数:lpLogFont是字体属性结构体(LOGFONT)指针,该结构体的使用见下。
    返回值:定义字体成功返回非0数,否则返回0。
    说明:
     a.这个函数时CFont的成员函数,使用时需要CFont对象(指针)调用。
     b.字体属性结构体LOGFONT常用属性:
       lfHeight; //字体高度、LONG类型
       lfWidth; //字体宽度、LONG类型(取值0时系统自动与lfHeight匹配)
       lfEscapement; //倾角、LONG类型(文本行与X轴夹角,1=1/10度,顺时针方向为正)
       lfOrientation; //文本基准线、LONG类型
       lfWeight; //字体笔画粗细、LONG类型(取值0-900)
       lfItalic; //斜体标志、BYTE类型(0标准、1倾斜)
       lfUnderline; //下划线、BYTE类型
       lfStrikeOut; //删除线、BYTE类型
       lfCharSet; //字符集、BYTE类型(一般取值GB2312_CHARSET,也可使用DEFAULT_CHARSET)
       lfFaceName[LF_FACESIZE];//字体名、TCHAR类型、如"宋体"、"仿宋"等
     c.声明LOGFONT结构体对象后,一般将其用memset函数全部初始化成0<缺省值>,然后再对需要的属性进行赋值,其它的就使用缺省值。为lfFaceName赋值时,不能使用“=”赋值,若是UNICODE模式,需要使用wcscpy_s函数赋值;多字符集模式,使用strcpy_s函数赋值。
     d.调用CreateFontIndirect生成的字体后,也需要调用SelectObject函数选入CDC,并用CFont*接收其返回值用于恢复缺省字体。(和使用画刷相似)
三、设置文字颜色函数
   原型:virtual COLORREF SetTextColor (COLORREF color);
   参数:color COLORREF类型的颜色值(可直接使用16进制、也可调用RGB函数)
   返回值:返回原来文本颜色的RGB值,设置失败返回CLR_INVALID(0xFFFFFFFF)
   说明:
    a.该函数是CDC类的成员函数,使用时需CDC类对象或指针调用。
    b.通过该函数进行文字颜色的设置,应接收其返回值,并在完成文字显示后恢复缺省设置。
四、设置文字背景颜色函数
     原型:virtual COLORREF SetBkColor(COLORREF color);
     参数:color为COLORREF类型的颜色值
     返回值:原有的背景色,设置失败返回CLR_INVALID(0xFFFFFFFF)
     说明:
       a.这个函数是CDC类的成员函数,使用是需CDC类对象或指针调用。
       b.所谓背景色,仅是显示文字的背景色,不涉及其它。
五、设置背景模式函数
     原型:int SetBkMode(int nBkMode);
     参数:nBkMode有两个取值:OPAQUE(值=2),表示背景颜色设置生效(默认设置,不调用这个函数的效果);TRANSPARENT(值=1),表示背景透明,背景颜色不改变。
     返回:返回原背景模式。
     说明:这个函数的TRANSPARENT模式在实际使用时,更有用处。也就是:当我们设置了字体颜色,背景颜色随已有图形颜色时,就没必要在设置背景颜色,只要把背景模式设置为TRANSPARENT即可。
六、举例程序
       使用红(0000FF)、橙(007FFF)、黄(00FFFF)、绿(00FF00)、青(FFFF00)、蓝(FF0000)、紫(FF008B)、黑(000000)八种颜色在自定义坐标系中绘制8个填充扇形;每个扇形占半个象限;在扇形中用文字标出颜色名。
       步骤一:在CMFC2DGraphView.h中定义一个全局宏,代码:

#define PI 3.14159

       步骤二:在CMFC2DGraphView.h中,找到CMFC2DGraphView类,在类内public:下声明自定义画扇形函数,代码:

 public:
//声明自定义画扇形函数void myPie(double startRad, double endRad, COLORREF fillColor, LPCTSTR str, COLORREF strColor);//参数说明:startRad-扇形起点弧度、endRad-终点弧度、fillColor-填充颜色、//          str-标识文字、strColor-表示文字颜色

   步骤三:在CMFC2DGraphView.cpp中实现myPie函数,代码:

//实现自定义画扇形函数
void CMFC2DGraphView::myPie(double startRad, double endRad, COLORREF fillColor, LPCTSTR str, COLORREF strColor)
{//自定义坐标系CRect rect;GetClientRect(rect);CDC* pDC;pDC = GetDC();/*做一点说明:GetDC()函数是CWnd类成员函数,使用时需要CWind类对象或指针调用;但由于我们是在视图类中作图,而视图类的基类就是CWnd类,所以使用this指针就可以调用,而this指针可以省略,所以这个函数在视图类中可以直接使用,就像全局函数一样。*/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);//以当前窗口宽、高最小者的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));//恢复缺省画刷、画笔pDC->SelectObject(oldBrush);pDC->SelectObject(oldPen);//定义字体、字体颜色、背景模式并选入CDCLOGFONT logfont; //字体属性结构体设置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); //字体颜色设置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());//恢复字体、字体颜色、背景模式缺省设置pDC->SelectObject(oldFont);pDC->SetTextColor(oldColor);pDC->SetBkColor(OPAQUE);ReleaseDC(pDC); //前面用GetDC获取了pDC,这里要释放,函数性质同GetDC
}

步骤四:在OnDraw函数中调用myPie函数,画出要求的扇形,代码:

	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);//填充黄、文字蓝myPie(3 * PI / 4, 4 * PI / 4, 0x00ff00, L"绿", 0x000000);//填充绿、文字黑myPie(4 * PI / 4, 5 * PI / 4, 0xffff00, L"青", 0xff0000);//填充青、文字蓝myPie(5 * PI / 4, 6 * PI / 4, 0xff0000, L"蓝", 0x0000ff);//填充青、文字红myPie(6 * PI / 4, 7 * PI / 4, 0xff008B, L"紫", 0x00ffff);//填充青、文字黄myPie(7 * PI / 4, 8 * PI / 4, 0x000000, L"黑", 0x00ffff);//填充青、文字黄

  (以上代码也可以写成循环,颜色定义成COLORREF数组)
 七、程序运行效果截图

http://www.ds6.com.cn/news/96381.html

相关文章:

  • 诸暨做网站公司谷歌浏览器网页版进入
  • 做网站要多少费用汕头seo收费
  • 本地调试wordpress好的seo公司营销网
  • 自己做网站还是用别人网站网店培训骗局
  • 汕头云建站模板优化网站的目的
  • 做建材一般去什么网站宣传今天的最新消息新闻
  • 网站优化公司电话合肥网站排名
  • 喀什网站建设快手秒赞秒评网站推广
  • 宁波建设协会网站中国站长站官网
  • 网站建设内部下单流程图郑州网站建设哪家好
  • 500元做网站广告公司名字
  • wordpress防暴力破解电子商务seo名词解释
  • php给一个网站做后台企业网络营销策划书范文
  • 物流网站给做软件贵州二级站seo整站优化排名
  • 一个wordpress的爱好者免费seo关键词优化排名
  • 重庆网站建设制作设计百度风云榜明星
  • 手机版网站开发教学怎么优化关键词排名优化
  • 做直销建立个人网站好吗网店推广平台有哪些
  • .网站开发工具dw百度关键词指数排行
  • 如何做网站网页今日重庆重要消息
  • 做设计外包的网站网络营销推广方法有哪些
  • wordpress4.7.2seo关键词查询
  • 黄冈网站排名最高南宁百度seo推广
  • 如何建设公司网络营销网站网站结构优化的内容和方法
  • 上海网站制作计划新浪博客seo
  • 域名与网站区别免费的个人主页网页制作网站
  • 网站国际化建设方案推广优化方案
  • 网络平台制作方法优质的seo快速排名优化
  • vs2012做网站百度一下百度
  • 网站开发心得500字今天最新的新闻头条