問題タブ [measurestring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2595 参照

c# - GDI+ MeasureString() でテキストが正しくトリミングされない

画面にテキストをレイアウトできるコードを完成させようとしています。それ以外の場合は空の Windows フォームのイベント ハンドラーに配置された次の C# コードPaintは、例です。

s配列内の各テキストの前後の空白をトリミングすることを除いて、正しく機能します。次のように表示されます。

このレイアウト アルゴリズムをテストするサンプル テキスト

しかし、代わりに次のように表示されます。

このレイアウト アルゴリズムをテストするサンプル テキスト

f.Trimmingプロパティが に設定されていることを確認しましたNone。これにより、文字列の測定に末尾と開始の空白が追加されると推測していましたが、それでもトリミングされます。MeasureStringメソッドに空白を含める方法についてのアイデアはありますか? それ以外の場合、カーニングは完全に処理されます。

0 投票する
3 に答える
2086 参照

c# - MeasureString()が十分な幅を返さない

Labelにを作成するための次のコードがありますPictureBox

ただし、ラベルは常に最後の文字を削除しています。呼び出しに文字を追加すると、次のようになります。

それはうまく機能しますが、それは正しく感じられません。

ラベルのテキストの直前に空白があるようですが、Padding0に設定されています。これを正しい方法で修正するにはどうすればよいですか?

0 投票する
3 に答える
3944 参照

c# - ワードラップを実装するにはどうすればよいですか?

XNA には、 の幅と高さを返すことができる MeasureString メソッドを持つ Spritefont クラスがありstringます。Environment.Newline特定の幅と高さに収まるように、適切な場所に挿入された文字列を効率的に返すメソッドを作成する方法を理解しようとしています(そのためのパラメーターとして Rectangle が使用されます)。

0 投票する
2 に答える
1760 参照

vb.net - VB.net Windows フォームの TextBox 内にテキストを合わせる

私のアプリケーションの1つでは、テキストボックス内にテキストを配置する必要があり、テキストボックスの幅と高さはテキストの長さに応じて変更する必要があります。だから私は使用しています

ここで、textcontent はテキストの内容で、TextFont はフォントの種類です (このリンクを参照してください) 。

しかし、テキストに多数の文字が含まれている場合、フォーム内に約2行が必要であると言う場合(テキストが1行に収まらない場合)、高さも設定する必要があります。したがって、特定のテキストのテキストボックス内にテキストが適切に収まるようにします。また、複数行の場合 (大きなテキストの場合) は、最初の行の終わりと 2 行目の間に余分なスペースがあってはなりません。では、どのようにそれを行うことができますか?

0 投票する
1 に答える
177 参照

c# - System.Drawing.Graphics は文字列の終わりをトリムしますか?

テキスト レンダリング アルゴリズムに取り組んでいるときに、メソッドの奇妙な動作に出くわしましたGraphics.MeasureString()

文字列の末尾を内部​​的にトリミングしているようです。

誰かがこの動作を説明できますか?

0 投票する
2 に答える
2139 参照

c# - MeasureString の使用中に「GDI+ で一般的なエラーが発生しました」

オーバーライドされた (WinForms) MemoEdit コントロールがあります (残念ながら、コードを提供できません)。32000 文字を超える文字を入力すると、「GDI+ で一般的なエラーが発生しました」というエラーが発生します。コントロールにエラー (例外) があると思いましたが、単純な WinForm アプリケーションで次のコードをテストしました。

そして、それはまったく同じエラーでクラッシュしますなぜこれが起こるのか、またはこの定数 32000 がどこで指定されているのか知っている人はいますか? Google で役立つ情報が見つかりませんでした。