フォントが汚い(DXライブラリ)

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
まなし

フォントが汚い(DXライブラリ)

#1

投稿記事 by まなし » 12年前

DXライブラリを使用したゲームを作成しています。

なるべく文字を表示する際には綺麗なフォントをしようと考えています。
そこで CreateFontToHandle関数を使用してフォントを作成して表示をしようとしているのですが、
どう設定しても表示されるフォントが汚くなってしまいます。

例えばメイリオのようにアンチエイリアスの綺麗なフォントを設定しても、デフォルトでは本来の綺麗さとはかけ離れた文字になってしまいます。
(そもそも、本来あるべきアンチエイリアスが全くかかっていません)
そこでフォントを作成する際にDX_FONTTYPE_ANTIALIASINGやDX_FONTTYPE_ANTIALIASING_4X4を設定してみたのですが、
これでもやはり本来とはかけ離れた汚いフォントになってしまいます。
どうすれば本来のあるべき綺麗なフォントで文字が表示されるのでしょうか。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: フォントが汚い(DXライブラリ)

#2

投稿記事 by softya(ソフト屋) » 12年前

状況を再現できる超短いコードは作れませんでしょうか?
codeタグをお使いくださいね。
http://dixq.net/board/board.html
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

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

Re: フォントが汚い(DXライブラリ)

#3

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

スクリーンショットも貼っていただけますか?
https://gyazo.com/ja
http://www.axfc.net/uploader/
https://gigafileupload.com/
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

まなし

Re: フォントが汚い(DXライブラリ)

#4

投稿記事 by まなし » 12年前

ご返信ありがとうございます。

再現に苦労しているところですので、もう少しお待ち願えたらと思います。
フォントを作成してアンチエイリアスをかけるだけの簡単なコードであれば綺麗に表示がされるのですが、
透過画像の上に文字を表示した時なのか、どうやら特定の状態の場合に汚くなるようで、発生する条件を探っているところです。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: フォントが汚い(DXライブラリ)

#5

投稿記事 by softya(ソフト屋) » 12年前

こういう条件ではないでしょうか?
「文字が太る」
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=2979
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

まなし

Re: フォントが汚い(DXライブラリ)

#6

投稿記事 by まなし » 12年前

申し訳ありません。原因を特定することが出来ました。
作成したプログラム上では、以下の画像のようになっていました。
https://gigafileupload.com/download/079 ... 396386.png
右に行くほど少しずつフォントが綺麗になっていく状態で、特に左端は目も当てられないような状態でした。

原因は同じ文字を同じ位置に何度も描画しているためでした。

今回は『ゲーム作りで学ぶ!実践的C言語プログラミング』
http://www.usamimi.info/~guiprog/game/
のサイトで紹介されていたテキスト表示方法を拡張して文字を表示していました。
ここではサウンドノベル風に1文字ずつ文字を表示させるために、
1回めは1文字を表示、2回めは同じ場所から2文字を表示、3回目は同じ場所から3文字を表示…と繰り返していたため、
描画回数を重ねる度にアンチエイリアスの効いたフォントは重ねて描画され汚くなっていく、という現象が発生していました。
(上記問題の画像では、一番最後の文字は一度しか描画されていないため、一番綺麗に表示されています)

自己解決してしまい、ご迷惑をお掛けして申し訳ありません。

まなし

Re: フォントが汚い(DXライブラリ)

#7

投稿記事 by まなし » 12年前

softya(ソフト屋)様

ありがとうございます。今回はこの問題も併発していたようです。
参考にさせて頂きます。

閉鎖

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