問題タブ [drawstring]

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 投票する
2 に答える
3370 参照

java - drawString が機能しない

私は Java の初心者で、約 1 年間プログラミングをしており、現在、ユーザーがマップ (たとえば、世界地図) を選択し、マップをクリックしてそのマップに都市を追加できるようにするプロジェクトに取り組んでいます。

ユーザーが地図をクリックして名前を入力すると、その座標に都市が描画されます。これで問題ありません。私の問題は、都市の名前も都市の上に描画したいということですが、何らかの理由で機能させることができません。簡単な作業のはずですが、数時間試してみたところ、非常に面倒になり始めているので、他の誰かがこの簡単な質問で私を助けてくれることを願っています.

コード:

前もって感謝/ジミー

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

java - DecimalFormat(force dot)とdrawString()の使用(yは間違っているようです)

1つに2つの質問がありますが、問題を示す非常に短いテストケースがあります。

私がそれを使うとき、私は得ます:

そして、この画像は次のように生成されます。

Numbers.png

私の質問:

  1. ロケールを切り替えずに、DecimalFormatにコンマではなくドットを使用させるにはどうすればよいですか?
  2. wは正しいようですが、高さが0の何が問題になっていますか?数字が画面外に印刷されるのはなぜですか?

ありがとうございました!アレックス

アップデート:

ロケールを使用することになりました。str.replace( "。"、 "、")コメントもかっこいいです。

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

c# - C# Graphics.DrawString RectangleF Auto-Height:その高さを見つける方法は?

Graphics DrawString メソッドを使用して画像の上にテキストを書き込んでおり、テキストを RectangleF にバインドしています。これが私のコードです:

これは場合によっては機能しますが (つまり、header2が 1 行の長さの場合)、私の変数は四角形measurement全体ではなく、フォントの高さのみを測定します。そのテキストによって高さが変わるため、DrawString静的な高さを設定したくありません。header2Rect

yindex は機能しませんheader2Rect.Height = 0。私の行数を確認する方法はありheader2ますか?

幅を実行しMeasureString、それを境界矩形の幅で割り、MeasureString高さを掛けるだけですか? もっと良い方法があると思います。

ありがとう

[編集] 高さは実際には 0 のように見えますが、テキストは外側にはみ出していますが、幅は依然としてテキストの折り返しを制限しています。高さを見つけるためにいくつかの数学計算を行っただけですが、もっと良い方法があればいいのにと思います。

0 投票する
0 に答える
1010 参照

graphics - GDIを使用してOTFフォントをレンダリングするTextRenderer.DrawText?

ビットマップイメージ上にテキストを描画しようとしていますが、調査を行ったところ、.NET /GDI+がOTFフォントをサポートしていないことがわかりました。GDIでOTFフォントをレンダリングするために使用できる場所をどこかで読みTextRenderer.DrawTextましたが、その方法がわからないようで、品質もGraphics.DrawString少しも比較できません。

  1. まず、VSでOTFフォントを使用することは可能ですか、それとも間違って読んだことがありますか?

  2. 次に、答えがTextRenderer.DrawTextの場合、OTFフォントをどのように使用しますか?クラスを使用する必要があるようですが、System.Drawing.Fontそれらがフォントをサポートしているとは思わないので、それが問題ですよね?

  3. GDI +を使用してフォントをTTFフォントのように明確にレンダリングするにはどうすればよいですか(Graphics.DrawString

  4. を使用すると、テキストの境界として(指定された幅、0の高さ)Graphics.DrawStringを使用でき、テキストは正しく折り返されました。を使用すると、使用する機能がRectangleFなくなり、高さ0を許可しないように見えるものだけが許可されますが、テキストは表示されます(つまり、テキストは長方形内にある必要があり、テキストの折り返しは機能しません)。私はそれを間違っていますか?TextRenderer.DrawTextRectangleFRectangle

どんな助けでも大歓迎です。これができない場合、OTFフォントを変換する方法、またはTTFバージョンでGothamフォントファミリーをオンラインで見つける方法はありますか?私は本当にこれらのフォントが必要です!

0 投票する
0 に答える
204 参照

.net - .Net の PathEllipsis を使用したコンパクトな長い文字列

DrawStringを使用してツリービューコントロールの1つに描画している次の文字列があります。

ツリービューは、次のように上記の文字列を描画しています:

ここに画像の説明を入力

今、上の画像に示されている同じ文字列を別の文字列に圧縮したいと思います。http://www.codeproject.com/KB/vb/NewPathCompactPath.aspxを試しました

しかし、上の画像の結果は得られませんでした。

同じ文字列を使用して同じ結果を得る方法を教えてくださいTextRenderer.MeasureText

ありがとう

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

.net - グラフィックスケールを変更するときの.NET DrawString()の異なるテキストレイアウト

指定された長方形内にテキストを描画するために単純なコードを使用しています。グラフィックスのスケール (Graphics.ScaleTransform メソッドで設定) によってテキストのレイアウトが異なる場合があることを除いて、すべて正常に動作します。

問題を言葉で説明するのは難しいので、例の画像を見てください

  1. ScaleTransform を約 0.3 に設定 - テキストは指定された長方形内の 1 行に収まります。
  2. ScaleTransform を約 0.6 に設定 - テキストは最後の単語の前で折り返されます。

どちらの場合も、フォント、テキスト、レイアウト四角形、StringFormatting などは同じです。変わるのはスケールだけです。「フォントのスケーリング」を使用していないことに注意してください。どちらの場合も、同じフォント オブジェクトです。StringFormatFlags が設定されていません。

どうすれば修正できますか?テキストが折り返されるかどうかは気にしません。一貫性が必要なだけです。スケールに関係なく、常にラップされているかどうかに関係なく。どうやってするか?

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

java - ツールチップ テキストは Java のパネル描画を消去します

メソッドを使用してJPanelいくつかの描画が実行される がpaintComponentあり、その後、ユーザーがJPanel文字列をクリックするたびに文字列 (または任意の描画) が描画され、ユーザーがマウスを の上に移動するとJPanel、 のツールチップに座標が表示されJPanelます。

1)問題は、ツールチップが描画された文字列の上に来るとそれを消去することですが、このツールチップテキストはメソッドで実行した描画部分に消去効果がありませんpaintComponent. なぜこれが起こっているのか理解できません。

2)また、クリックして文字列を描画し、アプリケーションを最小化して復元すると、描画された文字列がなくなります。

私が言いたいことを皆さんが理解してくれることを願っています。

コードは次のとおりです。

事前に感謝します....

0 投票する
4 に答える
28244 参照

c# - .NET でのテキストの描画

.Net でのテキストの描画に関するいくつかのテストを行っていますが、次の結果が得られました。

描画テキストの例

  • FlatStyle最初の文字列は、に設定されたネイティブ ラベルです。System
  • Graphics.DrawString()2 番目の文字列はメソッドを使用して描画されます
  • 最後のものはTextRenderer.DrawText()メソッドを使用して描画されます

すべてのケースで、デフォルトの Windows Vista/7 フォントを使用します: Segoe UI, 9

ご覧のとおり、2 番目の文字列と他の文字列には違いがあります (品質が低く、アンチ エイリアスが異なります)。オブジェクトでアンチエイリアスとスムージング モードを設定しようとしましたが、Graphics結果はありません。

テキストを使用して描画しGraphics.DrawString、他の方法と同じ品質を得ることができますか?

前もって感謝します。


編集: Reflector を使用してコードを確認しました。メソッド GdipDrawString() を呼び出すgdiplus.dllGraphics.DrawStringを使用し、およびを呼び出すuser32.dllを使用することに気付きました。TextRenderer.DrawTextDrawTextExWDrawTextExA

それについて何かコメントはありますか?

0 投票する
4 に答える
2260 参照

xna - 複数の色のXNASpriteFont?

複数の色付きの水平領域を持つテキストを描画する方法はありますか?例として、下半分を赤、上半分を緑にして「こんにちは」というテキストを描きたいと思います。使用するテキストは動的である必要があります。通常のテクスチャでは、Drawメソッドを使用し、サブ長方形を渡して、テクスチャの一部を異なる色で描画しますが、テキスト用ですか?

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

vb.net - フォントのすべての詳細を知っている文字の寸法を取得します

指定したフォントに応じて文字のビットマップを作成する必要があります。彼らがフォントを指定するとき、彼らは以下を指定しています:

  • フォント(例:Microsoft Sans Serif)
  • フォントスタイル(太字など)
  • サイズ(例:14)
  • 効果(例:ストライクアウト)
  • スクリプト(例:Western)

これを知っていると、キャラクターと上記のすべての情報を知っていれば、キャラクターのサイズを正確に決定することは可能ですか?文字と同じサイズで、それより大きくないビットマップに描画する必要があります。

ありがとう!私はこれをすべてVB.netで行っているので、すべての.netの例が受け入れられます。