0

アプレット オブジェクトが与えられた場合、アプレット ウィンドウの「スクリーン ショット」(たとえば BufferedImage として表される) をプログラムで取得することは可能ですか?

 JApplet applet = this;
 // ... code here ...
 BufferedImage screenshotOfApplet = ...;
4

4 に答える 4

2

少なくとも Swing コンポーネントのみを使用している場合は、アプレットと同じサイズの BufferedImage を作成し、BufferedImage#getGraphics() から取得できる Graphics オブジェクトを使用してアプレットの paint メソッドを呼び出すことができると思います。実際に機能するかどうかをテストするためのテンプレート コードはここにはありませんが、試してみる価値はあると思います。

于 2009-10-03T22:14:29.823 に答える
1

使用することもできますRobot.createScreenCapture(Rectangle bounds)が、展開後にこれが機能するようにするには、アプレットに署名する必要があります。

コメント後-

アプレットコンポーネントだけが必要な場合-

BufferedImageを作成し、それにペイントすることができます-次のようになります:

public static BufferedImage imageFor(Component component) {
    BufferedImage image = new BufferedImage(component.getWidth(), 
            component.getHeight(), BufferedImage.TYPE_INT_RGB);
    Graphics g = image.getGraphics();
    component.paint(g);
    return image;
}

アプレットに署名する必要があるかどうかはわかりません...

于 2009-10-03T21:51:19.497 に答える
0

画面イメージ. JApplet で試したことはありませんが、JFrame と JDialog では問題なく動作します。

于 2009-10-04T00:18:48.223 に答える
-1

私はあなたが欲しいと思いますjava.awt.image.PixelGrabber。(IIRC、大幅な減速の背後にあったのは、私が間違っているかもしれませんが、1.1から1.2へのJavaグラフィックスのパフォーマンスです。)

于 2009-10-04T00:26:16.517 に答える