编程词典
明日图书
明日软件
用户注册
用户登录
站内
  当前位置:编程词典服务网 >> 编程词典社区论坛 >> 在路径中输出文字
  · 在路径中输出文字

用户:  大麦
发帖:  430 篇
作品:  0 个
回复:  110 篇
技术分:  1160 分
等级:  
注册:  2010-05-11 09:09:40



发表于:2010-07-13 16:38:55
          楼主

在路径中输出文字
路径提供了一种机制,使得用户可以绘制更为复杂的图形。MFC类库没有对路径进行封装,但是用户可以使用CDC类提供的路径函数来应用路径。其中,BeginPath函数用于在当前的设备上下文中打开一个路径。EndPath函数用于关闭打开的一个路径。程序中在调用BeginPath函数之后,调用EndPath函数之前的所有点、线、文本、图形图像输出均称为当前路径的一部分。StrokePath函数用当前的画笔描述路径。由于CDC类提供的路径相关函数语法比较简单,多数函数没有参数,因此不对这些函数进行语法介绍。下面通过一个示例来介绍路径在文字输出中的作用,示例将利用路径在窗口中输出空心的文字。
例如,利用路径在窗口中输出空心的文字。
(1)创建一个文档/视图结构的应用程序,工程名称为“PathFont”。
(2)在视图类的OnDraw方法中编写程序代码。
void CPathFontView::OnDraw(CDC* pDC)
{
 CPathFontDoc* pDoc = GetDocument();    //获取文档对象
 ASSERT_VALID(pDoc);       //验证文档对象
 CFont mFont;         //定义一个字体对象
 //创建字体
 VERIFY(mFont.CreateFont(     
  150, 50, 0, 0, FW_HEAVY, TRUE, FALSE,
  0, ANSI_CHARSET, OUT_DEFAULT_PRECIS,
  CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
  DEFAULT_PITCH | FF_SWISS, "宋体"));
 CPen pen(PS_SOLID,2,RGB(255,0,0));    //定义一个画笔
 pDC->SelectObject(&pen);      //选中画笔
 pDC->BeginPath();       //开始一个路径
 CFont *pOldFont = pDC->SelectObject(&mFont); //选中创建的字体
 pDC->SetBkMode(TRANSPARENT);   //设置画布的背景模式为透明
 pDC->TextOut(30,30,"嫦娥一号探月卫星");  //输出文本
 pDC->EndPath();       //关闭路径
 pDC->StrokePath();       //用当前的画笔绘制路径
 mFont.DeleteObject();      //上述字体对象
 pDC->SelectObject(pOldFont);     //选中之前的字体对象
}
 注意:在使用路径时必需是一个闭合图形,否则可能无法绘制出任何图形。
(3)运行程序,效果如图1所示。
 
图1  根据路径输出文本

 

本帖赏分:0 分   回复数:0 篇     
修改   删除   引用   回复
该帖暂无回复!
吉林省明日科技有限公司提供技术支持. 
Copyright © 1999-2008 吉林省明日科技有限公司. 吉ICP备10002740
当前时区 GMT+8, 今天是 
刷新页面 - 关于我们 - 设为首页