問題タブ [system.drawing]
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.
wpf - WPF アプリケーション ウィンドウからビットマップを取得しますか?
Winforms の System.Windows.Forms.Control クラスには、さまざまな状況で非常に役立つインスタンス メソッド "DrawToBitmap" があります。WPF アプリケーションから System.Drawing.Bitmap を取得する同等の方法があるかどうか疑問に思っていますか?
アプリケーション ウィンドウを取得するだけで P/Invoke を実行できることはわかっていますが、64 ビットの遷移にうまく対応できず、DrawToBitmap のようにサブコントロールのみをレンダリングできないため、これは好きではありません。します。
ありがとう、リチャード
.net - スモールキャップス/複数のフォントとGDI+の「DrawString」を使用した太字
スモールキャピタルをさまざまな単語のさまざまなフォントと組み合わせて使用して、いくつかのテキストを書きたいです。
明確にするために、ページのヘッダー用のPNGファイルに生成されるメッセージ「WelcometoourNewWebsite」が必要な場合があります。
- テキストはスモールキャップスになります。すべて大文字になりますが、「W」、「N」、「W」は少し大きくなります。
- 「新しいウェブサイト」は、残りのテキストとは異なるフォントで表示されます。
完全に手動で行うことなくこれを行う方法はありますか?
このようなことをすることは、概念的に私がやりたいことです:
私がこれまでに見つけた最善のアプローチはここにありますが、これを手動で行うためにすべての面倒を見て、いくつかの恐ろしいカーニングまたは追跡の問題が発生するのではないかと心配しています 。
編集:これはASP.NET内で行われているため、高速で可能な限り無駄のないものにする必要があります。大量の小さな画像を作成する必要がなく、簡単にローカライズできるように自動化する必要があります。
c# - 三角形リストへのパス (.NET/C#)
2 次元の点の配列として表されるパスが与えられた場合:
……ほら、箱。
これを 3D アプリケーションで使用する三角形 (パスを埋める) のリストに変換する最良の方法は何ですか? これは単純な例にすぎず、実際にはパスがかなり複雑になる可能性があることを考えると. フレームワーク、おそらく System.Drawing またはこれに役立つ WPF に既に何かありますか?
編集: (Samuel によるコメントの後) 理想的には、凸多角形と凹多角形の両方を処理できるようにしたいと考えています。
vb.net - 画像と winform に関する質問
キオスク アプリケーションを作成しています。私はそれを全画面表示にして、フォームに直接描画しています:
すべてが正常に描画されますが、Alt または Tab を (個別に、または一緒に、任意の順序で) 2 番目に押すと、描画した四角形が消えます。関数をもう一度呼び出すと、どのボタンを押しても再描画されたままになります。呼び出す必要がある何らかの .NET 関数があるので、描画関数を 1 回だけ呼び出す必要がありますか?
ありがとう。
.net - メモリ イメージ内の 24 ビットをインデックス付きカラーに変換する
Format24bppRgb としてメモリに作成したイメージがあります。
これを PNG として保存すると、24kb になります。
Photoshop で同じ画像を 24 ビット PNG として保存すると、ほぼ同じサイズになりますが、32 色のみの 8 ビット PNG として保存すると、5kb になります。
C# / GDI+ / System.Drawing を使用して PNG ファイルのインデックス付きバージョンを作成するにはどうすればよいですか?
グレースケール画像だけに適用されない、または外部ライブラリを必要としない、この質問に対する答えを見つけるのに苦労しています。そのままGDI +内では不可能ですか?
c# - .NET / GDI+ でサブサンプリングを無効にする方法は?
Bitmap クラスを使用して JPEG 画像を保存しようとしています。指定した品質レベルに関係なく、シャープなエッジが常にぼやけていることに気付きました。1 つまたは複数のチャネルのサブサンプリングが原因であることがわかりました。画像を保存するときにサブサンプリングを無効にするにはどうすればよいですか?
私は現在このコードを使用しています:
ノート
JPEG が非可逆であることは知っていますが、それはここでは問題ではありません。ImageMagick を使用してデフォルトのオプションで画像を保存すると、同様の結果が得られます。しかし、1:1:1 のサブサンプリングを指定すると、ぼやけがなくなります。
より良い圧縮が必要なため、PNG は使用したくありません。画像を BMP として保存し、手動で JPEG に変換すると、ぼやけることなく優れた結果が得られます。したがって、形式はここでは問題になりません。
.net - 信頼性の高い.wmf/wmfからピクセルベースの画像変換
こんにちは、
透明な領域を含む.wmfファイルの.netの内部(System.Drawing)ベースのMetaFile/画像処理に少し問題があります。基本的に、MetaFile.LoadFile(...)を実行し、それをtiff / pngなどとして保存するときはいつでも、そのソースファイルの一部の領域が欠落しています。実際に特定することはできませんが、メタファイル内のベクターベースの情報は問題なく機能しているようですが、ピクセルベースの領域(.wmf内に配置された画像など)が欠落しています。
信頼できる.netネイティブでサードパーティ以外の方法でwmfファイルを適切に変換する方法を知っている人はいますか(最終的なピクセルベースの画像は.wmf ..ちょうど..よく..ピクセル化されているように見えます)?
乾杯と感謝、-J
.net - System.Drawingで作成されたJPEG画像が元のビットマップよりも大きいのはなぜですか?
私は奇妙な問題を抱えています-私は約1450万のビットマップ画像を持っていますが、それはおそらく非圧縮です。これらのビットマップをJPGに変換し、データベースに保存する必要があります。
.NET System.Drawingライブラリで提供されているクラスを使用してビットマップをImageFormat.Jpegとして保存すると、結果のJPEGは元のビットマップの約2倍のサイズになります。コードは次のとおりです。
これらの画像のいくつかのHEXを調べましたが、圧縮設定が「なし」のようです。だから私はそれらが非圧縮であると仮定しています。さらに、元のファイルのHEXには「BMP」コードが含まれ、結果のファイルには予想どおり「JFIF」コードが含まれます。
画像は白黒で、色はありません。
なぜこれが起こるのかについて何か考えはありますか?正しい方向へのポインタを探しています...
編集:
- 品質を指定できる代替のオーバーロードを使用して保存してみました。メリットは見られません。
- また、ここである程度JPEGにこだわっていることを指定する必要があります。これはレガシーシステムであり、システムの他の部分はJPEGを想定しています。
画像属性:
- ビットマップのサイズ:152x48
- ビットマップファイルサイズ:1022バイト
- JPEG:同じ寸法
- JPEGサイズ:2.2 kb
- ビットマップ情報:インデックス付き、1レイヤー(2色)
- ビットマップ解像度:96.012x 96.012 ppi
c# - System.Window.media.PixelFormats.Gray16 からビットマップを作成する方法
生のピクセルデータから画像を正常に描画できます(8ビット画像のみ)。これは同じことを行うためのコードです。
ご存知のように、PixelFormat.format16bppGrayscale は c# 2.0 GDI+ ではサポートされていません。私はググって、これをサポートする 3.0/3.5 フレームワークを得ました。というわけで両方インストール。サポートされているクラスは System.windows.media.PixelFormats です。PixelFormats.Gray16
今私の問題は、ビットマップを作成し、このパラメーターを渡して表示用の画像を取得する方法です。
そこに何か BitmapSource クラスがありますが、C#3.0 では非常に新しいです。
私を助けてください。