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

c# - 透明ピクセルの上に DrawString を使用した不適切なテキスト レンダリング

テキストをビットマップにレンダリングするとき、不透明でないアルファを含む領域の上にテキストをレンダリングすると、テキストの見栄えが非常に悪くなります。下にあるピクセルがより透明になるにつれて、問題は次第に悪化します。推測する必要がある場合は、下にあるピクセルが透明な場合、テキスト レンダラーはアンチエイリアス処理された「灰色」のピクセルを黒一色として描画します。

ここにいくつかのスクリーンショットがあります:

透明なピクセルの上に描画されるテキスト:

代替テキスト

半透明のピクセルの上に描画されるテキスト:

代替テキスト

不透明なピクセルに描画されるテキスト:

代替テキスト

テキストのレンダリングに使用されるコードは次のとおりです。

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

vb.net - Graphics.Drawstringは、PictureBoxでは見栄えがしますが、ビットマップではひどいです。

DrawStringテキストを画像として書き込んでから90度回転させようとしています。ビットマップでも直接PictureBoxでも問題なく動作しますが、大きな違いは品質にあります。描かれたPictureBoxテキストは素晴らしい品質で見栄えがします。画像に描くと、ひどくブロック状に見えます。見栄えを良くするためにいくつかの変更を加えましたが、見た目が思ったほど良くありません。

サンプルコード:

Windowsフォームプロジェクトを使用し、その上に2つの画像ボックスとボタンを配置し、次のコードで実行して、意味を確認します。

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

c# - C#Graphics.DrawStringは特殊文字をレンダリングしませんか?

カスタムコントロールに任意のテキストを書き込もうとしています。
私のコードは機能しますが、üなどの文字を描画しようとすると、文字がある場所に空の正方形が表示されます。
ローカリゼーションをサポートするつもりなので、これが機能する必要があります。
すでにチェックしましたが、タホマには必要なキャラクターがいます。私のコードは以下の通りです:

誰もがこれを修正する方法を知っていますか?

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

windows-mobile - Compact Framework: 楕円で複数行の文字列を描画する

Windows Mobile アプリケーションの ListView から継承されたオーナー描画コントロールを作成しています。Graphics.DrawString2 行のテキスト文字列を書き出すために使用しています (.NET CF 3.5 を使用)。問題は、一部の項目に 2 行に収まらない特に長いテキストがあることです。グーグルは、文字列を使用MeasureStringして手動で切り捨てる方法を見つけましたが、これは単一行の文字列でのみ機能します。ここで省略記号を取得する方法はありますか、またはクリップされたテキストを受け入れるか、1 行だけを使用するように再設計する必要がありますか? (どちらも契約を破るものではありませんが、省略記号は確かに優れています。)

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

c# - 呼び出し後の.NetDrawStringフォント参照の変更

次のコードが与えられます。Times New RomanではなくArialで最初のDrawStringメソッドを描画する可能性はありますか?

基本的に、このコードが断続的に最初の文字列を間違ったフォントで描画しているという問題があります。コードを2つの静的フォント参照を持つように変更しましたが、コードを再現できなかったため、問題が修正されたかどうかがわかりません。

注:locは実際のコードによって変更される位置です。ここでは、簡略化するためにいくつかのコードを削除しました。

これが私の修正を含むメソッド全体です。何も問題がない場合は、宇宙線か何かのせいにします...

修正されたコードは次のようになります。現在、GDI呼び出しがはるかに少なくなっています。

これをさらに最適化することを計画している場合は、長方形の測定パーツをOnResizeのオーバーライドに配置しますが、今のところこれでうまくいくと思います...

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

c# - .netDrawStringゼロ幅文字のヘブライ語フォント

この問題を解決するために、DrawStringに追加のプロパティまたはパラメーターはありますか。2つの文字が同じ場所に表示されるように、幅がゼロの文字が多数あるヘブライ語フォントがあります。

この例は、左側に.NETの問題を示し、右側にどのように表示されるかを示しています。

http://hebrewresources.com/html5/images/rendering_issue.png

WordとVisualStudioのテキストボックスは同じようにレンダリングされますが、SumTotalのツールブックでは正しくレンダリングされます。

これは実際には15年以上前の非常に古いTrueTypeフォントであり、右から左へのフォントでもありません。新しいフォントに切り替えることもできますが、その場合は、すべての文字と母音を再マップするプログラムを作成する必要があります。

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

c# - ユーザーがC#の画像ボックスにテキストを配置

ピクチャーボックス上の特定の場所を選択して、テキストボックスからテキストを配置できるツールを作成しようとしています。ピクチャーボックスに複数の異なるテキストを配置してから削除できる必要があります。これは私の現在のコードです:

現時点では、テキストボックスにテキストを入力することはできますが、画像ボックスに文字列を描画してその場所を選択することはできません。書かれたテキストが正しいことを確認し、ユーザーがその場所を選択できるようにするためのボタンがあります。誰かが私がこのコードを整理するのを手伝ってもらえますか?

ありがとう-

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

c# - C# graphics.DrawString を使用してユニコード文字列を描画する方法

.NET フレームワークによって提供される PrintDocument を使用して、クメール スクリプト (ユニコード) 文字列をプリンターに送信しようとしています。

残念ながら、Graphics.DrawString() はクメール スクリプトを正しくレンダリングしないようです。

プラットフォーム: Windows 7 Ultimate
IDE: VS 2010 Ultimate

サンプルコードは次のとおりです。

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

asp.net - DrawString-Method(ASP.NET)を使用した画像の醜いレンダリング

ASP.NETでテキストを画像としてレンダリングしたい。正常に機能していますが、グラフィックスのTextRenderingHintオプションを変更してAntiAlias(またはClearType)をオンにしても、テキストは非常に見苦しく(テキストの周りに灰色のピクセルが表示されます)レンダリングされます。

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

生成された画像(ズーム)へのリンクは次のとおりです。

ここに画像の説明を入力してください

ズームされていない画像:

ここに画像の説明を入力してください

どうすればこれを解決できますか?

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

.net - 長方形内のテキストを埋める

Graphics オブジェクトに文字列を描画するために GDI+ を使用しています。

文字列を事前に定義された長方形の中に収めたい (線を壊さずに)

望ましいサイズが返されるまで、ループで TextRenderer.MeasureString() を使用する以外に、これを行う方法はありますか?

何かのようなもの: