Dxlibでの文字列の改行について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ochaduke
記事: 36
登録日時: 4年前

Dxlibでの文字列の改行について

#1

投稿記事 by ochaduke » 4年前

お早うございます。Dxlibでの文字列の改行について質問です。

とあるサイト(http://wisdom.sakura.ne.jp/system/winap ... in17.html)でWindows APIについて勉強していたら、このような文章を見つけました。
TextOut() 関数で文字を表示する場合、文字列内に \n を指定しても
残念ながら TextOut() 関数はこれをサポートしないので改行されることはありません
では、どうやって改行を表現するのでしょうか
フォントのサイズはフォントや解像度で異なるため、固定値で改行するのは危険です
その環境では文字が改行したように見えても、他の環境では不自然かもしれないのです
これ(太字・斜体の部分)はDxlib(特にDrawString() )でも言えることなのでしょうか?

つまり、

コード:

DrawString (0, 0, "改行!", GetColor(255,255,255) );
DrawString (0, 20, "自分の環境だと20(=固定値)で美しく改行できます。が、、、", GetColor(255,255,255) );
ということです。

また、固定値での改行が危険なら、どういう風にすれば良いのか、方針だけでもいいので、教えてください!
お願いします。
電車グ人生…

アバター
みけCAT
記事: 6277
登録日時: 9年前
住所: 千葉県
連絡を取る:

Re: Dxlibでの文字列の改行について

#2

投稿記事 by みけCAT » 4年前

ochaduke さんが書きました:これ(太字・斜体の部分)はDxlib(特にDrawString() )でも言えることなのでしょうか?

つまり、

コード:

DrawString (0, 0, "改行!", GetColor(255,255,255) );
DrawString (0, 20, "自分の環境だと20(=固定値)で美しく改行できます。が、、、", GetColor(255,255,255) );
ということです。
詳しく調べてはいませんが、DXライブラリだとフォントの初期値が決まっているので、大丈夫そうな気がします
ochaduke さんが書きました:また、固定値での改行が危険なら、どういう風にすれば良いのか、方針だけでもいいので、教えてください!
例えば、GetDrawStringWidth関数を用いて、改行する位置を二分探索するといいでしょう。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

ochaduke
記事: 36
登録日時: 4年前

Re: Dxlibでの文字列の改行について

#3

投稿記事 by ochaduke » 4年前

改行時のy座標は固定値でも大丈夫そうなのですね。
ありがとうございます。
電車グ人生…

閉鎖

“C言語何でも質問掲示板” へ戻る