問題タブ [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 投票する
5 に答える
5961 参照

c# - drawString メソッドを使用して対角線を書くにはどうすればよいですか

私はc#2005を使用しています。画像に斜めに文字列を書きたいです。ただし、デフォルトでは、c# は横書きまたは縦書きのオプションを提供します。

斜めに書く方法は?

ありがとう

0 投票する
5 に答える
14698 参照

gdi+ - MeasureString()は、テキストを左右に埋め込みます

C++でGDI+を使用しています。(この問題はC#にも存在する可能性があります)。

Graphics :: MeasureString()またはGraphics :: DrawString()を呼び出すと、文字列の左右に空白が埋め込まれることに気付きました。

たとえば、Courierフォント(イタリックではありません!)を使用していて、「P」を測定すると90になりますが、「PP」では150になります。モノスペースフォントでは、「PP」の幅がちょうど2倍になると思います。 。

私の質問は、これは意図された、または文書化された動作ですか、そしてこれを無効にするにはどうすればよいですか?

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

c# - C# / .NET の OwnerDraw ツールチップでのテキストの配置

複数行のテキスト文字列 (例: "Stuff\nMore Stuff\nYet More Stuff") があり、それをビットマップと共にツールチップにペイントしたいと考えています。ビットマップをペイントしているので、OwnerDraw を true に設定する必要があります。また、Popup イベントも処理しているので、ツールチップのサイズをテキストとビットマップを保持するのに十分な大きさにすることができます。

e.DrawBackground と e.DrawBorder() を呼び出してから、ツールチップ領域の左側にビットマップをペイントしています。

テキストを左揃えにするために e.DrawText() に渡すことができるフラグのセットはありますが、ビットマップ上に描画されないようにオフセットすることはできますか? または、すべてのテキストもカスタム描画する必要がありますか (おそらく改行などで文字列を分割する必要があります)?

更新: 最終的なコードは次のようになります。

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

c# - Graphics.DrawString を使用して高さ 2 倍のテキストを描画するにはどうすればよいですか?

System.Drawing を使用して POS プリンターをエミュレートしようとしていますが、必要な機能の 1 つは、2 倍の高さでテキストを描画することです。.Net の Graphics クラスを使用してこれを行う方法はありますか?

テキストを 2 倍の大きさで描画して圧縮するか、通常のサイズで描画してから引き伸ばす必要がありますか? どちらも厄介なオプションのように思えますが、代替手段はありますか?

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

c# - DrawString 画像レンダリングにカスタム TTF フォントを使用する

サーバー側で GDI+ を使用して、ユーザーのブラウザーにストリーミングされる画像を作成しています。どの標準フォントも私の要件に適合しないため、TrueType フォントをロードし、このフォントを使用して文字列をグラフィックス オブジェクトに描画します。

myCustomサーバーにインストールされていないが、TTF ファイルがあるフォントを表します。

GDI+ 文字列レンダリングで使用できるように TTF ファイルをロードするにはどうすればよいですか?

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

.net - スモールキャップス/複数のフォントとGDI+の「DrawString」を使用した太字

スモールキャピタルをさまざまな単語のさまざまなフォントと組み合わせて使用​​して、いくつかのテキストを書きたいです。

明確にするために、ページのヘッダー用のPNGファイルに生成されるメッセージ「WelcometoourNewWebsite」が必要な場合があります。

  • テキストはスモールキャップスになります。すべて大文字になりますが、「W」、「N」、「W」は少し大きくなります。
  • 「新しいウェブサイト」は、残りのテキストとは異なるフォントで表示されます。

完全に手動で行うことなくこれを行う方法はありますか?

このようなことをすることは、概念的に私がやりたいことです:

私がこれまでに見つけた最善のアプローチはここにありますが、これを手動で行うためにすべての面倒を見て、いくつかの恐ろしいカーニングまたは追跡の問題が発生するのではないかと心配しています 。

編集:これはASP.NET内で行われているため、高速で可能な限り無駄のないものにする必要があります。大量の小さな画像を作成する必要がなく、簡単にローカライズできるように自動化する必要があります。

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

c++ - GDI +でキャンバスに画像を描画するときに、単語の長さと高さを取得する方法

C++ で GDI+ を使用して、キャンバスに文字列を描画します。特定のフォントの文字列のアウトレイヤー (幅、高さ) を取得する API はありますか? どうもありがとう!Windows プログラマーのソリューションに感謝します。次のコードを書きました。

実際のグラフィックスを使用して MeasureString を呼び出す必要がありますか? 大きなグラフィック インスタンスを作成せずに、ワード幅、ワード高さを取得する方法はありますか? リソースを消費していることがわかりました。

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

colors - Graphics.Drawstring() を使用するときに色のにじみを防止しますか?

vb .net Graphics.Drawstring メソッドを使用するときに、色が互いににじみ出ないようにするにはどうすればよいですか。これは、実際には一緒に使用してはならない色 (緑/オレンジ、黒、赤など) で発生します。ありがとう

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

c# - DrawStringがC#Winformsで予期しない動作を示すのはなぜですか?

コントロールをC#WinFormsでサブクラス化し、OnPaint()ハンドラーでテキストをカスタム描画しています。私のフォームで次のコードを使用して、フォントをCourierNewに設定します。

コントロール自体では、文字列はに格納されておりrealText、次のコードを使用して画面に描画します。

ランダムなサンプルテキストの結果は次のようになります:http: //img219.imageshack.us/img219/1778/courier.png

ズームインすると、たとえば、最初の「as」間のスペースが2番目の「as」間のスペースとは異なることがわかります(1ピクセルと2ピクセル)。何がこれを引き起こしているのか、またはどうすればそれが起こらないようにすることができるのか、誰かが知っていますか?異なるフォントで描くと、間隔に似たような奇妙さがたくさんありますが、それらはすべて同じ問題の結果であると思います。

あなたが持っているかもしれないどんな考えにも前もって感謝します。

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

.net - C# オブジェクトの前に描画する方法は?

他のすべての上にあるはずの文字列をどのように描画しますか? 現在、私のパネルには、Panel1.Controls にいくつかのユーザー コントロールがあります。だから私はこれを Paint メソッドに追加しました:

問題は、テキストがユーザー コントロールの背後に印刷されるため、表示されないことです。(開いているテキストの位置を変更すると、正しく表示されます)。

何か案は?