CreateFont()について・・・


VBユーザー  2006-06-10 22:37:14  No: 95714

CreateFont()の第三引数は、文字の角度を設定することが出来ますが、
実際にTextOut()などで文字を表示すると、
文字の左上を原点として文字が回転します。
そうすると、角度によっては表示画面からはみ出てしまいます。
今、直面している問題はその点でして、文字の左上を原点とはしないで、
文字の中心を原点として文字を表示する方法は可能でしょうか?

もしくは、文字の左上原点回りした文字の中心座標と原点座標の差分座標の算出法をご伝授くだされ。


ガッ  2006-06-10 23:02:33  No: 95715

※とりあえずただの幾何問題なので、図を描いて見てください

問題を再確認してください。
1  (水平方向=x,垂直方向=y,角度=t)とした場合、
    直線L:(x,y)-(x+TextWidth(String)*cos(t),y+TextWidth(String)*sin(t))が描かれる(ディスプレイではなく、x-y平面状で)
    (このLが文字列出力の外線)
2  今問題にすべきなのは、直線L|t=0:(x,y)-(x+r,y)上の
    任意の点(p,q)を中心として回転させた場合、
    Lのxとyとtがどのように表現されるか?ということ
ですか?


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加