トップページ > 記事閲覧
文字を任意の角度で表示したい
名前:kooka 日時: 2015/04/28 21:19

Dxlibで任意の角度で文字を表示しようとしたところ該当する関数がなかったために WindowsAPI?のCreateFontを使おうとしたのですが今ひとつ上手に表示されません。 これはどのように解決したらよろしいでしょうか… また、Dxlibに任意の角度で文字を表示する関数が有りましたら教えて下さい
メンテ

Page: 1 |

Re: 文字を任意の角度で表示したい ( No.1 )
名前:管理人 日時:2015/04/29 23:25

そういえば文字列を回転して描画する機能がありませんでした・・・ なので文字列を回転して描画する機能を追加しましたので、よろしければこちらをダウンロードしてください m(_ _)m https://dxlib.xsrv.jp/temp/DxLibVCTest.exe // VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.exe // BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_DevCppTest.exe // Dev-C++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.exe // MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい) 回転描画用の以下の関数を追加しました // 文字列を回転描画する int DrawRotaString( int x, int y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, unsigned int Color, unsigned int EdgeColor , int VerticalFlag , char *String ) ; // 書式指定文字列を回転描画する int DrawRotaFormatString( int x, int y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, unsigned int Color, unsigned int EdgeColor , int VerticalFlag , char *FormatString, ... ) ; // フォントハンドルを使用して文字列を回転描画する int DrawRotaStringToHandle( int x, int y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, unsigned int Color, int FontHandle, unsigned int EdgeColor, int VerticalFlag, char *String ) ; // フォントハンドルを使用して書式指定文字列を回転描画する int DrawRotaFormatStringToHandle( int x, int y, double ExRateX, double ExRateY, double RotCenterX, double RotCenterY, double RotAngle, unsigned int Color, int FontHandle, unsigned int EdgeColor, int VerticalFlag, char *FormatString, ... ) ; DrawRotaString と DrawRotaFormatString はフォントハンドルを使用しない文字列の回転描画を行う関数で、 DrawRotaStringToHandle と DrawRotaFormatStringToHandle は CreateFontToHandle で作成できるフォントハンドルを使用して文字列を回転描画を行う関数です 引数の意味は以下の通りです x, y : 描画する文字列の基準座標( 左上座標 ) ExRateX, ExRateY : 文字列の拡大率、1.0 で等倍、 2.0 で2倍、となります RotCenterX, RotCenterY : 回転の中心座標、x, y に対する相対座標なので、例えば RotCenterX と RotCenterY のどちらにも 0.0 を指定すると、文字列の左上端が回転の中心になります RotAngle : 回転角度、単位はラジアンです Color : 文字の色、GetColor で取得できる色値を渡します EdgeColor : 文字の縁の色、縁無しフォントの場合は何の値を指定しても意味はありません VerticalFlag : 縦書きかどうかのフラグ、FALSE を指定すると横書きになります String, FormatString : 描画する文字列 ... : 書式指定文字列の場合、パラメータを渡します よろしければお使いください m(_ _)m 因みに、角度を付けると初期状態の最近点サンプリングモードでは綺麗に文字が描画されないので、回転描画をする前に SetDrawMode( DX_DRAWMODE_BILINEAR ) ; を実行して、バイリニア補間モードにしておいてください
メンテ

Page: 1 |

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

   クッキー保存