[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 18:25 / Filesize : 259 KB / Number-of Response : 925
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者】スレを立てる前にココで質問を【Part13】



712 名前:名前は開発中のものです。 [2007/03/04(日) 13:34:27 ID:dlOeAODf]
質問です。
Windows98SEでGetGlyphOutline(GGO_GRAYn_BITMAP)を用いて文字を描画しているのですが、
CreateFontで指定した文字の太さが反映されず、標準の太さにしかなりません。
また、イタリック体に指定すると、左に傾いた文字(普通は右)になってしまいます。
TextOutで出力すると正常に動作しますし、同じコードをXPで試しても問題なく動きます。

原因や回避策をご存知の方は居られませんか?

/* 再現コード */
/* 文字コードはSJIS */
GLYPHMETRICS gm;
TEXTMETRIC tm;
unsigned char * font;
MAT2 mat2 = { {0,1}, {0,0}, {0,0}, {0,-1} };
HDC hDC = GetDC(hWnd);
HFONT hFont = CreateFont(26,0,0,0,
700, // Weight
1, // Italic
0,0,SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,DEFAULT_PITCH | FF_DONTCARE,"MS ゴシック"
);
HFONT hOldFont = (HFONT)SelectObject(hDC,hFont);
GetTextMetrics(hDC,&tm);
bufsize = GetGlyphOutline(hDC,'あ',GGO_GRAY8_BITMAP,&gm,0,NULL,&mat2);
font = (unsigned char *)malloc(bufsize);
GetGlyphOutline(hDC,'あ',GGO_GRAY8_BITMAP,&gm,bufsize,font,&mat2);
SelectObject(hDC,hOldFont);
ReleaseDC(hWnd,hDC);
DeleteObject(hFont);
; // 描画処理
free(font);






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<259KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef