HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0206
ひじきプロポーショナルフォントで文字を描画する際に中央寄せする方法。2解決


ひじき

リンク

2012/2/6(Mon) 07:32:35|NO.44741

毎度ながら質問させて頂きます。
等間隔フォントの場合、描画する文字数を参照して、

描画したい位置-フォントサイズ*文字数/2

という考え方で指定したい位置にセンタリングができるのですが、
プロポーショナルフォントの場合、描画してみるまで正確な文字幅がわからず、
現在のところ、画面外にいちどダミーを描画して、ginfo_mesx,mesyで幅を参照する。
という方法をとっておりますが、なんだか少し強引で無駄手間な気がして質問させて頂きました。

;現在使っている方法の具体例 font "MS Pゴシック",32 pos ginfo_winx , ginfo_winy : mes "中央寄せでっす";ダミーを描画 pos 320 - ginfo_mesx/2 , 240 - ginfo_mesy/2 : mes "中央寄せでっす"
プロポーショナルフォントをセンタリングするのに、もっとスムーズな方法はありませんか?
よろしくお願いいたします。



この記事に返信する


inovia

リンク

2012/2/6(Mon) 10:12:58|NO.44742

GetTextExtentPoint32関数で取得できると思います。
DrawTextでDT_CENTERを指定するやり方もありますけど。
過去ログにサンプルがあったので紹介しておきます。
http://hsp.tv/play/pforum.php?mode=pastwch&num=23012#23014



ひじき

リンク

2012/2/7(Tue) 06:56:56|NO.44744

回答ありがとうございます。
APIなどのHSP以外の命令・関数に関しては全く無知だったのですごく助かりました。
どちらも使ってみて、自分に合う使いやすいものを常用していきたいと思います。
ありがとうございました。



ONION software Copyright 1997-2021(c) All rights reserved.