トップページ > 過去ログ > 記事閲覧
文字の大きさを滑らかに変更するには?
名前:Dixq 日時: 2009/09/21 16:36

表示文字の大きさを滑らかに変更するにはどうしたらいいでしょうか? 文字列の大きさを滑らかに拡大したり縮小したりして表示したいのです。 今現在は何も書いていない画面に描画し、その描画先から指定領域内を画像としてキャプチャし、 その画像データを拡大したり縮小したりしています。 もっと簡単で効率的な方法があるでしょうか? また、このような手順で描画するとたまに背景がおかしくなります。(正常に透過されない) h ttp://dixq.net/img/bbs/DxLib/FontBug.PNG 以下のようなプログラムで実行しています。(一部) int x = 文字列の長さ, y = 文字列の高さ; int ImgHandle = MakeGraph( x, y ); //キャプチャ用画像ハンドルを作る DrawStringToHandle( 0, 0, //座標 "文字列", //描画文字列 GetColor(255,255,0), //文字の色 FontHandle, //フォントハンドル GetColor(255,0,0) //輪郭の色(赤) ); GetDrawScreenGraph( 0, 0, x, y, ImgHandle );//文字列描画部分をキャプチャ 輪郭用に設定した色が文字の背景色のような位置に一部描画されているようです。 何が原因だと考えられるでしょうか? よろしくお願いいたします。

Page: 1 |

Re: 文字の大きさを滑らかに変更するには? ( No.1 )
名前:Hima 日時:2009/09/22 02:58

DrawExtendStringToHandle( int x, int y, double ExRateX, double ExRateY, const char *String, int Color, int FontHandle, int EdgeColor = 0 , int VerticalFlag = FALSE ) ; この関数をやりましたか? きっと、描画先をキャプチャするより便利と思います。 (^ ^)
Re: 文字の大きさを滑らかに変更するには? ( No.2 )
名前:管理人 日時:2009/09/24 23:46

Himaさんも仰られていますが、DrawExtendStringToHandle をお使いください
Re: 文字の大きさを滑らかに変更するには? ( No.3 )
名前:Dixq 日時:2009/10/04 19:20

お返事、遅くなってしまい申し訳ありませんm(_ _;)m あれから色々といじってみましたが、 どうしてもDrawExtendStringToHandleを使って徐々に大きくすると ウゴウゴ動いて大きくなるように見えるのです; スムーズに「スー」っと大きくするにはやはり画像の方がよろしいのでしょうか?
Re: 文字の大きさを滑らかに変更するには? ( No.4 )
名前:管理人 日時:2009/10/07 08:34

確かに DrawExtendStringToHandle では滑らかに拡大することはできないですね・・・ 座標関連の数値を全部 float 型で扱う関数を作れば思った通りの表現ができそうですが、 今回はより確実な方法として Dixqさんの仰る通り画像にした方が良いかもしれません 文字を画像にして描画する方法はこちらのスレッド http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1366 で No.2 の私の書き込みの中にありますので、よろしければご覧になってみてください

Page: 1 |