Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
文字サイズの算出
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30320#CommentId83208
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
N88-BASIC
 (社会人)
投稿日時
2018/4/19 10:44:18
魔界の仮面弁士 さま、色々と情報をご提示ありがとうございました。
一応の解決に至りましたので、ここで状況をご報告させていただきます。
1)文字のセンタリングは全文字のサイズから描画開始位置を修正することで解決できました。
2)円の底に沿った描画は、円の描画が右回りになるので文字列が反転してしまうので、サンプル画像の2つ目を参考に gpath.AddCurve() にて反転を回避しました。
3)一部、文字フォントと文字数によっては、以下の distance の値がゼロになるようで Atan2() の計算時に NaN というエラーが発生しましたので、 distance に Double.MinValue を代入しました。
'補正距離
Dim dx = CDbl(pTo.X - pFrom.X)
Dim dy = CDbl(pTo.Y - pFrom.Y)
Dim distance = (dx * dx + dy * dy) ^ 0.5
dx /= distance
dy /= distance
:
CSng(180.0 * Math.Atan2(dy, dx) / Math.PI)
4)半角空白(スペース)のサイズが大きくなるので調整するようにしました。
文字列に特定の文字を付加し、付加前のサイズとの差分を利用
以上、今後ともよろしくお願いいたします。