qq_27976105 2016-12-05 10:05 采纳率: 88.9%
浏览 1006
已采纳

怎样用PolyBezier正确绘制一串字符的轮廓?

——1205————18:05————————
1、循环找出轮廓的最左和最右点,差值(1.1倍比较宽松)作为x偏移,像“间”这类的汉字没有左右安全距离。
2、ABC out; GetCharABCWidths(pDC->GetSafeHdc(), m_String.GetAt(i), m_String.GetAt(i),&out);
ptPos.x=ptPos.x+out.abcB+out.abcC+out.abcA;
试验:
————1205-18:25————1206-09:45————
3、汉字在基线右边而字母在基线左边。(意外)
图片说明

  • 写回答

1条回答 默认 最新

  • black__crow 2016-12-06 01:46
    关注

    先绘图再修改偏移量,被自己蠢哭。

     // ptPos.x+=currentOut.abcA+currentOut.abcB+currentOut.abcC;
        LPTTPOLYGONHEADER lpHeader = (LPTTPOLYGONHEADER)buffer; //TTPOLYGON结构的首地址
        DrawT2Outline(pDC->GetSafeHdc(),lpHeader,returnBytes,ptPos);
        ptPos.x+=currentOut.abcA+currentOut.abcB+currentOut.abcC;
    
    

    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?
  • ¥15 win10权限管理,限制普通用户使用删除功能
  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面