友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
狗狗书籍 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

VC语言6.0程序设计从入门到精通-第64章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!






 ·158 ·  


…………………………………………………………Page 168……………………………………………………………

                                                                                                   第 6 章    文本和字体类  



       lf。lfUnderline = FALSE;        //下划线  



       lf。lfStrikeOut = FALSE;        //删除线  



       lf。lfCharSet = GB2312_CHARSET;                    // 中文字符集  



       lf。lfOutPrecision = OUT_STROKE_PRECIS;    //字体输出结果和要求的匹配程度  



       lf。lfClipPrecision = CLIP_STROKE_PRECIS;    //如何裁剪落于裁剪区之外的字符  



       lf。lfQuality = DRAFT_QUALITY;                      //字体属性匹配的精确程度  



       lf。lfPitchAndFamily = VARIABLE_PITCH|FF_MODERN;//字体间距和字体族  



       strcpy(lf。lfFaceName;〃楷体_GB2312〃);            //楷体  



       m_font。CreateFontIndirect(&lf);  



       m_sText=_T(〃空心汉字〃);  



  



}  



  



void CHollowFontView::OnDraw(CDC* pDC)  



{  



       CHollowFontDoc* pDoc = GetDocument();  



       ASSERT_VALID(pDoc);  



  



       // TODO: add draw code for native data here  



       if(m_font。GetSafeHandle()!=NULL)    //如果成功建立字体  



       {  



              CFont *pOldFont = (CFont *)pDC…》SelectObject(&m_font);  



              pDC…》SetBkMode(TRANSPARENT);  



              int cx = 100; cy = 100;              //文本输出位置  



              CString sTemp = m_sText;  



              cx += 3;  



              cy += 3;  



              pDC…》SetTextColor(GetSysColor(COLOR_3DDKSHADOW)); // 以下先输出突出的 3D 文本  



              pDC…》TextOut(cx+2;cy…2;sTemp);  



              pDC…》TextOut(cx+2;cy+2;sTemp);  



              pDC…》SetTextColor(GetSysColor(COLOR_3DHILIGHT));  



  



              pDC…》TextOut(cx+1;cy…2;sTemp);  



              pDC…》TextOut(cx…2;cy+1;sTemp);  



              pDC…》TextOut(cx…2;cy…2;sTemp);  



              pDC…》SetTextColor(GetSysColor(COLOR_3DSHADOW));  



  



              pDC…》TextOut(cx…1;cy+1;sTemp);  



              pDC…》TextOut(cx+1;cy…1;sTemp);  



              pDC…》TextOut(cx+1;cy+1;sTemp);  



                                                                                                                       ·159 ·  


…………………………………………………………Page 169……………………………………………………………

Visual C++ 6。0 程序设计从入门到精通  



                   pDC…》SetTextColor(GetSysColor(COLOR_3DLIGHT));  



        



                   pDC…》TextOut(cx;cy…1;sTemp);  



                   pDC…》TextOut(cx…1;cy;sTemp);  



                   pDC…》TextOut(cx…1;cy…1;sTemp);               



                   //然后通过路径对象将以上要输出的文本变成空心  



                // 向路径输出“汉字”  



                   pDC…》BeginPath();  



                   pDC…》TextOut(cx;cy;sTemp;8);  



                   pDC…》EndPath();  



                   //填充路径  



                   pDC…》SetPolyFillMode(WINDING); //设置填充模式  



                   pDC…》StrokeAndFillPath();//绘制路径外观  



                   pDC…》SelectObject(pOldFont);  



                     



            }  



        



      }  



       函数 pDC…》StrokeAndFillPath  用于先封闭所有的开放路径,然后用当前画刷和填充方式 

填充区域内部 。由于当前画刷是一个实心的白色画刷(WHITE_BRUSH) ,因此,文字的显示 

效果就变成了空心,同时该函数用当前画笔勾画路径的轮廓。运行结果如图 6…3 所示。  



                                                                                                               



                                         图 6…3     “3D 空心字”例程运行结果  



 ·160 ·  


…………………………………………………………Page 170……………………………………………………………

                                                                            第 6 章    文本和字体类  



6。5    本章小结  



     本章介绍了 Windows GDI 输出文本和字体的一般概念。在对 MFC 字体类 CFont 的主要 

成员属性及方法作了较为详尽的讲解的基础上,介绍了 GDI 输出文本的方法 。同时,通过两 

个例程介绍了产生“动态”字幕和“空心字”的技巧和方法。通过本章的学习,读者应能够 

学到利用类 CFont 创建自定义字体的方法以及进行多种样式文本输出的方法。  

      

      



                                                                                          ·161 ·  


…………………………………………………………Page 171……………………………………………………………

                                第 7 章    图形图像  

                                第 7 章    图形图像  



                  随着计算机技术的发展,数字图像处理,技术得到了广泛应用,如模式识别、人脸识别、 

                    /编辑等都涉及到了计算机的图形图像处理技术 。本章将为读者介绍 Visual C++ 中图 

               图像融合 

               像处理技术的相关知识,主要包括以下几个方面的内容:  

                  o  屏幕秽土的主要函数,及其调用方法;  

                  o  图形设备接口及其主要 MFC 类;  

                  o  画刷和画笔的使用。  



               7。1  绘图的基础知识  



                  在当今的操作系统中,应用最广泛的是拥有友好、美观图形界面的操作系统。因此绘图 

               成为了一项核心技术。  

                  要了解绘图的原理,首先需要知道显示设备。当前的显示设备主要包括基于阴极射线管 

               ( 

               CRT )的显示器以及液晶显示器。阴极射线管主要由电子枪,聚焦系统、加速电极,偏转系 

               统,荧光屏构成。电子枪发出高速的电子束,经过聚焦系统、加速系统和偏转系统到达荧光 

               屏的特定位置。电子束轰击荧光屏发出荧光,形成亮点。要保持显示一幅稳定的画面,必须 

               不断地发射电子束。  

                  计算机的显示功能是由图形处理器(显卡)来完成的。图形处理器是图形系统结构的重要 

               元件,是连接计算机和显示终端的纽带 。早期的图形处理器只包含简单的存储器和帧缓冲区, 

               它们实际上只起了一个图形的存储和传递作用,一切操作都必须有 CPU 来控制。现在的图形 

               处理器不单存储图形,而且能完成大部分图形函数,专业的图形卡已经具有很强的 3D  处理 

               能力,大大减轻了 CPU 的
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!