1

VB.net で画像をトリミングしたい場合、どうすればよいですか? ユーザーが必要なボックス (system.drawing.rectangle) をドラッグできるようにしようとしています。ボックスを囲むエッジが自動的に削除されます。

私の最初の問題は、主に system.drawing.rectangle を表示できないという事実です。プログラムで位置と高さを設定していますが、何も表示されません。私が見逃しているかなり明らかなものがあることはおそらく知っています...しかし、私はそれを見つけることができないようです.

ただし、私のより大きな問題は、トリミング自体にあります。トリミング方法がまったく見つかりません。私が見逃している隠されたものはありますか?それとも、自分でコーディングする必要がありますか? どうすればこれを行うことができますか?ビットマップ画像オブジェクトに出力できるはずです。

助けてくれてありがとう、私はこれが以前にここで尋ねられなかったことに驚いています....

4

2 に答える 2

1

最初の問題について: Rectangle はそれ自体では表示されません。Graphics オブジェクトの DrawRectangle(...) メソッドを使用してキャンバスに描画する必要があります。選択ツールを描画するには、Pen オブジェクトの DashCap および DashPattern プロパティを設定する必要があります。

画像を「切り取る」には、基本的に、小さな Rectangle で区切られた大きな画像の部分を取り、それを新しいビットマップに変換します。これは、Graphics オブジェクトの DrawImage(...) メソッドの 30 のオーバーロードの 1 つを使用して行うことができます。切り抜いた部分を元のサイズのままにする (元のビットマップよりも小さいビットマップになる) か、元の画像のサイズのようなものに「拡大」することができます。後者のアプローチを行う場合は、通常、Graphics オブジェクトの InterpolationMode プロパティを HighQualityBicubic に設定することをお勧めします (いずれにせよ、それが 1 つだと思います)。

.Net で画像をレンダリングするにはさまざまな方法があります。コードの一部を、実際に発生している問題の説明とともに投稿すると役立つ場合があります。

これは、サンプル アプリ (および C# のソース コード、申し訳ありません) へのリンクを含む別の回答であり、開始に役立つ可能性があります。

于 2009-09-04T21:46:18.670 に答える
0

CodeProject には、これらのトピックに関する記事が多数あります。

お気に入りのフレーバーを選択してください (ただし、C# プロジェクトを確認することをお勧めします - 変換するのはそれほど難しくありません)。

vb.netを使用した画像のサイズ変更によるVB画像のトリミング

C#
画像のトリミング 使いやすい画像のサイズ変更とトリミング C# を使用した画像処理の制御 (「トリミング」セクションを参照してください - 私は自分のプロジェクトの 1 つでこのコードを使用することができました)

WPF/C#
WPF インタラクティブな画像トリミング コントロール
WPF 用の Photoshop のようなトリミング アドナー

于 2009-09-04T21:25:27.963 に答える