プロが教えるわが家の防犯対策術!

こんにちは。

CreateFontのフォントの高さについて教えてください。

ポイント数で指定されたフォントサイズを変換して、
フォントの高さ、フォントの幅に設定したいのですが、
よくわかりません。

マッピングモードがMM_TEXTの場合は、下記でフォントの高さを変換し、
幅には0を指定すればOKのようです。
nHeight = -MulDiv(PointSize, GetDeviceCaps(hDC, LOGPIXELSY), 72);

しかし、今回、マッピングモードがMM_HIMETRICなのですが、
この場合は、どのようにして変換すればよいのでしょうか?

MFCは使用しません。
よろしくお願いいたします。

A 回答 (1件)

MM_HIMETRICは1ピクセルが0.01mmという非常に細かい単位で設定されるマッピングです。


これで1インチの長さを求めると約2.54cmだから2540ピクセルになりますね。
これがMM_TEXT時でのGetDeviceCapsで求めた高さと同じになります。
だから式としては、
nHeight = -MulDiv(PointSize, 2540, 72);
…となるはずですが。どうでしょう…間違っていたらすみません ^^;
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

理屈がわかっていると簡単なことなのですね!
全然チンプンカンプンな状態なので・・・。
とてもわかりやすい説明をありがとうございます。
今後は、理屈を理解するよう努力します。

ありがとうございました!

お礼日時:2005/01/09 23:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!