2

Graphics.DrawString と TextRenderer.DrawText を使用して、固定四角形に可変数の文字列を配置しようとしています。

ただし、GDI+ のラッピング方法を使用しても、結果には満足できません。多数の文字列をパックする機会を与えるには、フォントのカーニング (または文字列の文字間隔) を制御する必要があります。

FontStretches について読みましたが、winform での使用方法がわかりません。もう 1 つの方法は Typography.SetKerning ですが、これを使用することについてはまだわかりません。

誰か助けてくれませんか?!

ラウンド 2: 難しいかもしれませんが、Win32 API には freetype サポートがあり、問題の解決策になる可能性があります。実際に私の目的は、.NET で「http://stackoverflow.com/questions/4582545/kerning-problems-when-drawing-text-character-by-character」に似たようなことをすることです。ユーザー文字入力ではなく、事前に形成されたアラビア語の文字列に取り組んでいることに注意してください。私の問題は次のとおりです。(1) 必要なカーニング関数 (おそらく gdi32.dll) を持つライブラリを特定する、(2) dll 呼び出しを処理するための ac# 安全な環境を構築する、(3) c# で動作する dll への呼び出しを実装する。

誰か助けてくれませんか?

答えてくれてありがとう。

4

1 に答える 1

0

documentationを見ると、どれが何をし、どのように使用するかを簡単に見つけることができます。

メソッドTypography.SetKerningは WPF 専用のものなので、WinForms では使用できません。

この記事は、カーニング値を GDI テキストに変更する方法を示しています。

于 2011-07-26T10:40:30.653 に答える