トップページ > 過去ログ > 記事閲覧
文字の描写について
名前:taku 日時: 2009/11/14 14:45

DrawString関数でエッジ付文字を描写したいのですが、フォントタイプ変更で描写してみたところ、エッジがとても小さくて自分が思うように出来ません。 エッジの大きさをもっと大きくできませんか?

Page: 1 |

Re: 文字の描写について ( No.1 )
名前:管理人 日時:2009/11/14 22:50

CreateFontHandle と DrawStringToHandle を使用することになりますが、現状でも可能です CreateFontHandle はリファレンスでは第4引数までしかありませんが実際にはもう少し引数がありまして、 縁の太さは第6引数となっています 第5引数は -1 を、それ以外の引数とフォントハンドルについてはリファレンスを参照してください m(_ _)m << CreateFontToHandle の解説 >> http://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_graph.html#R17N10 // 縁の太さを4ドットにしたサンプルプログラムです #include "DxLib.h" // WinMain関数 int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { int FontHandle ; ChangeWindowMode( TRUE ) ; // DXライブラリの初期化 if( DxLib_Init() == -1 ) return 0 ; //  デフォルトのフォントで、サイズ40、太さ3のフォントを作成し // 作成したデータの識別番号を変数 FontHandle に保存する FontHandle = CreateFontToHandle( NULL, 40, 3, DX_FONTTYPE_EDGE, -1, 4 ) ; // 作成したフォントで画面左上に『Hellow!!』と白色の文字列を描画する DrawStringToHandle( 0 , 0 , "HELLOW!!" , GetColor( 255 , 255 , 255 ) , FontHandle , GetColor( 0, 255, 0 ) ) ; // 次に標準フォントデータで画面に『OK?』という文字列を描画する DrawString( 0 , 50 , "OK?" , GetColor( 255 , 128 , 100 ) ) ; // キー入力を待つ WaitKey() ; // 作成したフォントデータを削除する DeleteFontToHandle( FontHandle ) ; // DXライブラリの終了 DxLib_End() ; // ソフトの終了 return 0 ; }
Re: 文字の描写について ( No.2 )
名前:taku 日時:2009/11/15 15:28

出来ました。ありがとうございました。 しかし、その前の方で使用するフォント(MS 明朝等)を変更しても変わっていないように見えるのですが…
Re: 文字の描写について ( No.3 )
名前:管理人 日時:2009/11/19 13:19

フォントハンドルを使用して文字列を描画する場合はフォントの指定は CreateFontToHandle の 第一引数で指定します CreateFontToHandle( "MS 明朝" ) ; ChangeFont や ChangeFontType, SetFontSize, SetFontThickness などはすべてフォントハンドルを 使用しない文字列描画である DrawString と DrawFormatString にのみ影響を与える関数で、 フォントハンドルを使用する場合はフォントの大きさ、太さ、フォント名などはすべて CreateFontToHandle で 指定します、CreateFontToHandle の解説に詳しく載っていますので、よろしければご覧ください << CreateFontToHandle の解説 >> http://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_graph.html#R17N10
Re: 文字の描写について ( No.4 )
名前:taku 日時:2009/11/21 11:39

解説を見たときに第一引数はフォントハンドル自体に名前を付けるものだと思ってました… これでうまくいきそうです。本当にありがとうございました。

Page: 1 |