問題タブ [gdi+]
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# - 2 つのコントロールを重ねる方法
Circle コントロールと Line コントロールがあります。Circle コントロールの OnPaint は円を描き、Line コントロールの OnPaint は線を描きます。これら 2 つのコントロールは、別のコントロール (DrawingControl) に含まれています。円の上に線を配置する必要がありますが、円の背景によって線が削除されます。透過性を有効にして、Circle の OnPaintBackground メソッドをオーバーライドしようとしましたが、うまくいかないようです。あなたはなにか考えはありますか?ありがとう。
c# - GDI+ でサポートされている画像形式のリストを拡張する
System.Drawing.Imaging 名前空間のドキュメントを引用するには
Encoder クラスを使用すると、GDI+ を拡張して任意の画像形式をサポートできます。
それでも、独自のカスタム ファイル形式を実装する方法を説明するドキュメント、例、またはその他のものが見つかりません。ほとんどの検索では、EncoderParameters の受け渡しに関する多くの情報が返されますが、独自のエンコーダの実装に関する情報は何も返されません。
理想的には、これを C# で実装できるようにしたいと思っていますが、必要に応じて ATL を削除する準備ができています :)
誰かがドキュメントに出くわしたり、これにアプローチする方法についての指針を提供したりできますか?
更新:
おそらく、これまでに試したことが役に立たなかったことに言及する必要があります:
- ImageCodecInfoクラスで返された GUID を探して、それが通常の COM インターフェイスであるかどうかを確認します (ただし、そうではないようです)。意図は、実装されたインターフェイスを確認すること、またはそれが単なるレジストリ エントリであるかどうかを確認することです。
- Image.FromFileメソッドにステップインして、gdiplus.dll の単なるラッパーであることを確認しました
- 独自の ImageEncoderParamers を指定して既存のものを使用する多くのケースを提供しているように見える多くの Google 検索。また、他の方法で独自の コーデックを実装する人々のいくつかのケース.
- ニュースでも尋ねられました://microsoft.public.win32.programmer.gdi
winapi - tagRECT/CRectからGdiplus::Rectに変換します
RECT
構造体(tagRECT
)またはaCRect
をに変換する最も簡単な方法は何Gdiplus::Rect
ですか?
動作しますが、多くのタイピングです。
.net - 画像のサイズを変更すると、右下に1ピクセルの形でトリミングされます
System.Drawing.Graphicsクラスを使用して画像のサイズを変更すると、結果の画像の右と下の境界から1ピクセルが失われることがわかりました。これは私のコードまたは.Netの問題のどこかにあるバグですか?テストコード:
ソース画像: ソース画像http://img110.imageshack.us/img110/4876/sampleaa2.jpg
結果: 結果http://img110.imageshack.us/img110/2050/resizedsamplesy4.png
PS私はInterpolationModeとSmoothingModeの既存のすべての組み合わせを試しました。それらのどれも許容できる結果を与えませんでした。
c++ - 塗りつぶされた矢印CustomLineCapを作成するにはどうすればよいですか?
MSDNのドキュメントには、いくつかの開いた矢印の例がありますが、塗りつぶされた矢印の例はありません。
デフォルトのLineCapArrowAnchorよりも大きな矢印を作成したいだけです。私はいくつかのことを試みましたが、それを機能させることができません。シンプルなはずですよね?
.net - 交差する GraphicsPath オブジェクト
2 つの (.NET) GraphicsPath オブジェクトを交差させるにはどうすればよいですか?
.net - .NET のアイコン ファイルから特定のイメージを抽出するにはどうすればよいですか?
アイコン ファイル (*.ico) には、サイズや色深度が異なる複数の画像が含まれている場合があります。
ファイルSystem.Drawing.Image
からオブジェクトを取得するにはどうすればよいですか?.ico
1 つのオプションは ですがImage.FromFile(...)
、複数の画像を含むアイコン ファイルの場合、返す画像サイズと色深度を指定する方法がありません。
ソリューションでマネージ コードのみを使用するのが理想的ですが、Win32 関数への相互運用呼び出しについても聞いてうれしいです。
c# - C#でのポイントへのズーム
画像の特定のポイントにズームするカスタムのスクロール可能な C# コントロールを作成しようとしています。私が直面している問題は、ダブルバッファリングが有効になっていると、画像が左上隅に向かって急に動き、マウスがクリックされたポイントに適切にズームすることです。これは、AutoScrollPosition を設定した場合にのみ発生するようです。OnPaint メソッドでは発生しないことを確認しました。追跡できない内部動作のようです。誰かがこの問題を解決しましたか?
これは、私が達成しようとしていることを示すコード例です。この問題は、画像がかなり大きい場合にのみユーザーに顕著に現れるようです。