DXライブラリの文字列を回転して表示させたい

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

DXライブラリの文字列を回転して表示させたい

#1

投稿記事 by ジャーニー » 15年前

お世話になっております

DXライブラリでフォントハンドルを用いて文字列を描画するDrawStringToHandleという関数があります.
この関数を用いて文字列を描画するのですが,普通に描画すると文字列が水平に表示されてしまいます.
文字列を水平に描画するのではなく,傾けたり,垂直に描画したいです.

1つの方法としては画面に文字列を描画して,それを画像にしてから貼り付けるという方法がありますが,
もっと簡単にできる方法はないでしょうか.

よろしくお願いします.

Ma

Re:DXライブラリの文字列を回転して表示させたい

#2

投稿記事 by Ma » 15年前

斜め等はジャーニーさんがおっしゃるような、なんらかの方法で一度キャプチャしないとだめかもしれません。

ただ、日本語のように縦文字ならかけます・・・。
extern int DrawFormatVStringToHandle( int x, int y, int Color, int FontHandle, const char *FormatString, ... ) ; // 書式指定文字列を描画する
といっても、これでは文字の並び方も変わっちゃうので求めているような描画はできないでしょうが・・・。

少なくとも私が知っている方法は一度画像ハンドル(ソフトイメージハンドルか、イメージハンドルとか)作る必要があります。

ジャーニー

Re:DXライブラリの文字列を回転して表示させたい

#3

投稿記事 by ジャーニー » 15年前

>Maさん

回答ありがとうございます.
傾けるのはできたらいいなという程度で,やりたいのは垂直表示なのでその関数を使ってみると思ったように垂直になりました.
ただ,DrawStringToHandleにも隠し引数で垂直フラグがあったのですが,どちらも時計回りに90度回転するだけでした.
反時計回りにも90度回転させる方法はないものでしょうか?

Ma

Re:DXライブラリの文字列を回転して表示させたい

#4

投稿記事 by Ma » 15年前

ありゃ、縦書きになると思ったのは勘違いだったみたいですね、すいません。
もしかしたらフォントに依存するのかも・・・?

反時計周りは分かりません。
やはりこれ以降は画像として扱わないと難しいのかも。

ジャーニー

Re:DXライブラリの文字列を回転して表示させたい

#5

投稿記事 by ジャーニー » 15年前

>Maさん

やはり画像で扱うしかないみたいですね.
縦書きになるのは縦書きフォントを使用した場合になりますので,普通のフォントであれば文字が回転するようです.
ありがとうございました.

ジャーニー

Re:DXライブラリの文字列を回転して表示させたい

#6

投稿記事 by ジャーニー » 15年前

解決を忘れてました

閉鎖

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