1

コンポーネントの下にあるグラフィック情報を「読み取る」にはどうすればよいですか ( BufferedImage としましょう)。

そのコンポーネントを半透明にし(すでに完了しています)、そのコンポーネントの下にあるすべての要素をぼかすなど、下にあるものにグラフィック効果を適用します(ただし、コンポーネント自体は対象外です)。

私のアプローチは間違っている可能性があります: paint(...)
メソッドで 指定された Graphics2D インスタンスからグラフィック情報を取得しようとしましたが、空ですよね?

4

1 に答える 1

1

質問: あなたのコンポーネントはトップレベルですか (つまり、デスクトップ上の JFrame の下にあるものを知りたいですか)、それともコンポーネントの下にあるコンポーネントについて知りたいだけですか?

java.awt.Robot1) の場合、メソッドでスクリーンショットを取得するのは簡単createScreenCapture(Rectangle)です。Rectangleこの場合、ウィンドウの境界にする必要があります。

2) の場合、その下のコンポーネントへの参照がある場合、オブジェクトがどこから来たpaint(Graphics)かを気にしないという事実を利用できます。Graphicsを作成し、 (aが予期される場合)BufferedImageを呼び出し、キャプチャするコンポーネントのメソッドに結果を渡すことができます。 コンポーネントがコンテナの場合、その子もペイントすることに注意してください。これはあなたが望むものかもしれませんし、そうでないかもしれません。createGraphics()Graphics2Dpaint(Graphics)

于 2009-05-19T14:02:29.330 に答える