掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ズーム時のフォントが正確に描画されません (ID:72839)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
連投すみません。 たった数行書き足しただけですが…とりあえず複数行に対応させたものを貼っておきます。 デバイスコンテキストの後片付けも追加しておきました。問題があればご指摘ください。 void textout(CDC &dc, int fontsize, POINT p, LPCWSTR string, double viewratio) { CFont zoomed, base; zoomed.CreateFont(fontsize * viewratio, ...); base.CreateFont(fontsize, ...); CDC attr; // 等倍表示(==1.0倍)時の位置計算用 attr.CreateCompatibleDC(&dc); CFont *prevfont1 = dc.SelectObject(&zoomed); CFont *prevfont2 = attr.SelectObject(&base); double x = p.x; double y = p.y; for (int i=0; string[i] != L'\0'; ++i) { ::TextOutW(dc, int(x + 0.5), y, &string[i], 1); SIZE size; ::GetTextExtentPoint32W(attr, &string[i], 1, &size); x += size.cx * viewratio; if(string[i] == L'\n') { x = p.x; y += size.cy * viewratio; } } attr.SelectObject(prevfont2); dc.SelectObject(prevfont1); }
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.