Chinaunix首页 | 论坛 | 博客
  • 博客访问: 744157
  • 博文数量: 769
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 4985
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 16:37
文章分类

全部博文(769)

文章存档

2011年(1)

2008年(768)

我的朋友

分类:

2008-10-15 16:40:10

 // 获得窗口的客户区设备上下文句柄
 
  CClientDC dc(this);
 
  // 更改当前字体
 
  LOGFONT lf;
 
  dc.GetCurrentFont()->GetLogFont(lf);
 
  CFont font, *pOldFont;
 
  lf.lfCharSet=134;
 
  lf.lfHeight=-150;
 
  lf.lfWidth=0;
 
  strcpy(lf.lfFaceName, "隶书");
 
  font.CreateFontIndirect(lf);
 
  pOldFont=dc.SelectObject(&font);
 
  dc.SetBkMode(TRANSPARENT);
 
  // 更改当前画笔为空
 
  CPen pen(PS_NULL, 1, RGB(255, 0, 0)), *pOldPen;
 
  pOldPen=dc.SelectObject(pen);
 
  // 更改当前刷子
 
  CBrush br, *pOldBrush;
 
  pOldBrush=dc.SelectObject(br);
 
  // 开始一个路径
 
  dc.BeginPath();
 
  dc.TextOut(10, 10, "渐变字");
 
  dc.EndPath();
 
  // 绘制渐变效果
 
  dc.SelectClipPath(RGN_COPY);
 
  for (int i=255; i>0; i——)
 
  {
 
  int iRadius=(600*i)/255;
 
  dc.SelectObject(pOldBrush);
 
  br.DeleteObject();
 
  br.CreateSolidBrush(RGB(255, i, 0));
 
  dc.SelectObject(br);
 
  dc.Ellipse(-iRadius, -iRadius/3, iRadius, iRadius/3);
 
  }
 
  // 恢复设备上下文的原有设置
 
  dc.SelectObject(pOldFont);
 
  dc.SelectObject(pOldPen);
 
  dc.SelectObject(pOldBrush);
 
  空心字:
 
  // 获得窗口的客户区设备上下文句柄
 
  CClientDC dc(this);
 
  // 更改当前字体
 
  LOGFONT lf;
 
  dc.GetCurrentFont()->GetLogFont(lf);
 
  CFont font;
 
  CFont *pOldFont; // 保存设备上下文最初使用的字体对象
 
  lf.lfCharSet=134;
 
  lf.lfHeight=-150;
 
  lf.lfWidth=0;
 
  strcpy(lf.lfFaceName, "隶书");
 
  font.CreateFontIndirect(lf);
 
  pOldFont=dc.SelectObject(&font);
 
  dc.SetBkMode(TRANSPARENT);
 
  // 更改当前画笔
 
  CPen pen(PS_SOLID, 1, RGB(255, 0, 0));
 
  CPen *pOldPen;
 
  pOldPen=dc.SelectObject(pen);
 
  // 开始一个路径
 
  dc.BeginPath();
 
  dc.TextOut(10, 130, "空心字");
 
  dc.EndPath();
 
  // 绘制路径
 
  dc.StrokePath();
 
  // 恢复设备上下文的原有设置
 
  dc.SelectObject(pOldFont);
 
  dc.SelectObject(pOldPen);
--------------------next---------------------

阅读(374) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~