文字列が矩形の大きさにぴったり収まるテキストを作成(描画)するAPI関数などはないのでしょうか?
なければ
文字列の幅高さを取得して矩形に拡大というやり方でいいのでしょうか?
DrawText(...) API のことでしょうか?
指定された矩形領域に整形されたテキストが表示させる機能をもったAPI
です。
このAPIでは、DT_CALCRECTと言うパラメータを指定すると、指定された
テキストを表示するために必要な長方形領域の幅と高さを調べて返して
くれると言う便利な機能もあります。
ご検討下さい。
以上。
返信ありがとうございます。
DrawTextというAPIは知っております。
もう一度DrawTextを調べてみたのですが私のやりたい事とは少し違うようです。 ひょっとしたら私の勘違いかもしれません。
もしDrawTextでできるようならアドバイスくだい。お願いいたします。
私のやりたい処理と言うのは(16*n)pix * (16*n)pixのピクチャボックスに
文字をぴったり収めたいのです。
現在のやり方はDrawTextでRECTの戻り値の大きさのビットマップをCreateCompatibleBitmapで作成し、そこのテキストを書き込み、それを
stretchbltで拡大コピーをしてます。この方法で一応できてるのですが、
ひょっとしたらAPIなどで文字を変形するのがあるのかな?と思い書き込みさ
せていただきました。
上記の方法だと拡大率が高いほど見苦しい画像になってしまいます。
結論から言うと、あります。
どこまで柔軟に操作することができるかわかりませんけど、
少なくとも横幅を任意のサイズに縮めて(伸ばして)描画することはできます。
変形したフォントを作成できるAPIがあります。それを使ってフォントを作成すれば、可能です。
(ワープロソフトで使われているものです)
といってそれ以上のことを知らないので、どうともいえませんけど、多分Googleで探せば見つかるかな と。
事前計算は必要でしょうが、
単にCreateFontしてTextOutするだけで
いいような気がするのですが。
ツイート | ![]() |