4

Netbeans で Swing GUI を作成しています。この GUI の目的は、(バッファリングされた) 画像 (アイコンとしての JLabel 内) を開き、それにアフィン変換を適用することです。現在、次のように実行している 4 つの変換があります。

ここに画像の説明を入力

現在、各変換では、X 値と Y 値を変更するために 2 つのスライダーが必要です。ただし、回転のスライダーは 1 つしか必要ありません。4種類の変換すべてに対して4つのタブを実行するよりもはるかに優れているため、このようにしました。また、たとえば、画像を回転させた場合、ドロップダウンリストからせん断を選択することで、回転した同じ画像をせん断できるようにしたいと考えています。

問題は次のとおりです: ラベル アイコンを再描画し、再描画された同じ画像に別の変換を適用するにはどうすればよいですか? また、選択した効果に応じて JSlider の最小値と最大値を変更するにはどうすればよいですか?

4

2 に答える 2

7

最初にロードされたBufferedImageを保存し、そのコピーを作成する必要があります。そうすれば、それを「破壊」することはありません。

値の変更については、setMaximumメソッドとsetMinimumメソッドがあります。Oracleチュートリアルで説明されているように、リスナーをリストに追加し、値を変更します。

于 2012-10-09T19:38:45.710 に答える
4

@Daniel の回答の具体例として、Java 2D による画像処理の記事でプログラムについて説明していImageDicerます。から選択してに適用TreeMap<String, BufferedImageOp>できる各 を構築します。JComboBoxBufferedImage

関連する例もここここで参照してください。

于 2012-10-09T20:55:46.950 に答える