フォントの回転
LOGFONTを使って、フォントを回転して描画する方法を紹介しています。
サンプルコード
HANDLE CurrFont; // 現在選択されているフォント
LOGFONT lf;
memset(&lf, 0, sizeof(LOGFONT));
GetObject(CurrFont,sizeof(LOGFONT),&lf);
lf.lfOrientation = 0;
lf.lfEscapement = 900;
HANDLE NewFont = CreateFontIndirect(&lf);
SelectObject(hDC, NewFont);
TextOut(hDC, 50, 50, "TEST", 4);
SelectObject(hDC, CurrFont);
DeleteObject(NewFont);
概要
LOGFONT
はフォントの状況を設定するための構造体です。それに
GetObject
で値を設定してやります。パラメータに
CurrFont
(現在のフォントハンドル)を渡しているのは、使用中のフォントの値を継承するためのです。
さらに
lfEscapement
に角度を指定してあげます。角度は900であれば90度回転ということです。
その後は
SelectObject
と
DeleteObject
を適切に使ってフォントの設定を元に戻すのを忘れずに。