トップページ > 記事閲覧
フォントに描画位置のオフセットを指定した
名前:ねねね 日時: 2018/03/19 03:25

お忙しいところ失礼いたします。 フォントファイルやフォントハンドルに対して、Y描画位置を一括で変更(全体を2ピクセル上に移動など) したいのですが、そういった機能はありますでしょうか? あるいはあわよくば、追加していただけませんでしょうか。 フォントの都合で描画位置が数ピクセルずれてしまったのを修正したいのですが、 Drawstringの引数を直接足し引きするのはコードの保守性に問題があると思いまして… 回答よろしくお願いします。
メンテ

Page: 1 |

Re: フォントに描画位置のオフセットを指定した ( No.1 )
名前:管理人 日時:2018/03/20 01:33

> フォントファイルやフォントハンドルに対して、Y描画位置を一括で変更(全体を2ピクセル上に移動など) > したいのですが、そういった機能はありますでしょうか? あるいはあわよくば、追加していただけませんでしょうか。 すみません、描画位置を補正する機能はありません また、機能の追加の予定もありません 申し訳ありませんが、以下のような自作の構造体と関数を作成して対応してください m(_ _;m // フォントハンドルとY座標のオフセットが入った構造体 struct MY_FONT_DATA { int AddY; int FontHandle; }; // MY_FONT_DATA を使用して文字列を描画する関数 int MyDrawString( int x, int y, const char *String, unsigned int Color, MY_FONT_DATA FontData, unsigned int EdgeColor ) { return DrawStringToHandle( x, y + FontData.AddY, String, Color, FontData.FontHandle, EdgeColor ); } MY_FONT_DATA FontData ; 〜〜〜〜〜〜〜〜 初期化処理 // 初期化処理などでフォントハンドルを作成するときに構造体に値を代入 FontData.AddY = 2; FontData.FontHandle = CreateFontToHandle( "MS ゴシック", 32, 2, DX_FONTTYPE_ANTIALIASING ); 〜〜〜〜〜〜〜〜 ループ処理 // DrawStringToHandle の代わりに MyDrawString を使用して文字列を描画 MyDrawString( 100, 200, "あいうえお", GetColor( 255,255,255 ), FontData, GetColor( 0,0,0 ) );
メンテ
Re: フォントに描画位置のオフセットを指定した ( No.2 )
名前:ねねね(解決) 日時:2018/03/21 12:02

回答ありがとうございます。 無事実装できました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存