WindowsSDK实现3D字体特效

这篇博客介绍了如何利用Windows SDK中的CFont和LOGFONT结构来创建具有3D效果的字体。通过设置字体样式、大小和颜色,然后结合DrawText函数绘制文本,实现了字体的阴影和立体感。最后,通过调整DrawText的位置和颜色,增强了3D视觉效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  

CFont m_fontLogo;

LOGFONT logFont;

memset(&logFont, 0, sizeof(LOGFONT));
logFont.lfCharSet = DEFAULT_CHARSET;
logFont.lfHeight =600;//宋体华文行楷
ogFont.lfWeight = FW_HEAVY; 

  lstrcpyn(logFont.lfFaceName,"华文细黑",(sizeof(logFont.lfFaceName)/sizeof(logFont.lfFaceName[0])));
  POINT pt;
  pt.y = ::GetDeviceCaps(hDC, LOGPIXELSY) * logFont.lfHeight;
  pt.y /= 720;    // 72 points/inch, 10 decipoints/point
  pt.x = 0;
  ::DPtoLP(hDC, &pt, 1);
  POINT ptOrg = { 0, 0 };
  ::DPtoLP(hDC, &ptOrg, 1);
  logFont.lfHeight = -abs(pt.y - ptOrg.y);

  ::CreateFontIndirect(&logFont);


  m_fontLogo.CreateFontIndirect(&logFont);
  CFont * OldFont = dc.SelectObject(&m_fontLogo);

  dc.SetBkMode(TRANSPARENT);//OPAQUE TRANSPARENT
  
  
  rect.right = rect.Width();
  rect.bottom = rect

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值