程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> 間距-怎樣用PolyBezier正確繪制一串字符的輪廓?

間距-怎樣用PolyBezier正確繪制一串字符的輪廓?

編輯:編程解疑
怎樣用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、漢字在基線右邊而字母在基線左邊。(意外)
圖片說明

最佳回答:


先繪圖再修改偏移量,被自己蠢哭。

 // 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;

圖片說明

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved