問題タブ [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.
c# - GDI+ MeasureString() でテキストが正しくトリミングされない
画面にテキストをレイアウトできるコードを完成させようとしています。それ以外の場合は空の Windows フォームのイベント ハンドラーに配置された次の C# コードPaint
は、例です。
s
配列内の各テキストの前後の空白をトリミングすることを除いて、正しく機能します。次のように表示されます。
このレイアウト アルゴリズムをテストするサンプル テキスト
しかし、代わりに次のように表示されます。
このレイアウト アルゴリズムをテストするサンプル テキスト
f.Trimming
プロパティが に設定されていることを確認しましたNone
。これにより、文字列の測定に末尾と開始の空白が追加されると推測していましたが、それでもトリミングされます。MeasureString
メソッドに空白を含める方法についてのアイデアはありますか? それ以外の場合、カーニングは完全に処理されます。
c# - MeasureString()が十分な幅を返さない
Label
にを作成するための次のコードがありますPictureBox
:
ただし、ラベルは常に最後の文字を削除しています。呼び出しに文字を追加すると、次のようになります。
それはうまく機能しますが、それは正しく感じられません。
ラベルのテキストの直前に空白があるようですが、Padding
0に設定されています。これを正しい方法で修正するにはどうすればよいですか?
c# - ワードラップを実装するにはどうすればよいですか?
XNA には、 の幅と高さを返すことができる MeasureString メソッドを持つ Spritefont クラスがありstring
ます。Environment.Newline
特定の幅と高さに収まるように、適切な場所に挿入された文字列を効率的に返すメソッドを作成する方法を理解しようとしています(そのためのパラメーターとして Rectangle が使用されます)。
vb.net - VB.net Windows フォームの TextBox 内にテキストを合わせる
私のアプリケーションの1つでは、テキストボックス内にテキストを配置する必要があり、テキストボックスの幅と高さはテキストの長さに応じて変更する必要があります。だから私は使用しています
ここで、textcontent はテキストの内容で、TextFont はフォントの種類です (このリンクを参照してください) 。
しかし、テキストに多数の文字が含まれている場合、フォーム内に約2行が必要であると言う場合(テキストが1行に収まらない場合)、高さも設定する必要があります。したがって、特定のテキストのテキストボックス内にテキストが適切に収まるようにします。また、複数行の場合 (大きなテキストの場合) は、最初の行の終わりと 2 行目の間に余分なスペースがあってはなりません。では、どのようにそれを行うことができますか?
c# - System.Drawing.Graphics は文字列の終わりをトリムしますか?
テキスト レンダリング アルゴリズムに取り組んでいるときに、メソッドの奇妙な動作に出くわしましたGraphics.MeasureString()
。
文字列の末尾を内部的にトリミングしているようです。
誰かがこの動作を説明できますか?
c# - MeasureString の使用中に「GDI+ で一般的なエラーが発生しました」
オーバーライドされた (WinForms) MemoEdit コントロールがあります (残念ながら、コードを提供できません)。32000 文字を超える文字を入力すると、「GDI+ で一般的なエラーが発生しました」というエラーが発生します。コントロールにエラー (例外) があると思いましたが、単純な WinForm アプリケーションで次のコードをテストしました。
そして、それはまったく同じエラーでクラッシュしますなぜこれが起こるのか、またはこの定数 32000 がどこで指定されているのか知っている人はいますか? Google で役立つ情報が見つかりませんでした。