0

レンダリングされたページをSWTブラウザーから取得し、画像にエクスポートしました。私の問題は、シェルが表示されていないときに正しくエクスポートできないことです。ブラウザを非表示にして、画像を適切にエクスポートするにはどうすればよいですか?

falseに設定しようとしshell.Visible()ましたが、画像のエクスポートが台無しになります。

これは私が画像をエクスポートする方法です(これが質問に必要かどうかはわかりません):

GC source = new GC (shell);  
Image image = new Image(display, browser.getClientArea()); 
source.copyArea(image, 0, 0);
ImageLoader io = new ImageLoader ();
io.data = new ImageData[] { image.getImageData() };
File f = new File (currentDir+"/workpng.png");
io.save (f.getAbsolutePath(), SWT.IMAGE_PNG); 
4

1 に答える 1

2

ウィンドウが表示されていない場合、X サーバー/Windows はすべてのレンダリング コマンドを破棄するため、これは不可能な場合があります (表示されないものをレンダリングしても意味がありません)。

また、この場合のブラウザのクライアント領域は何ですか?

これを機能させるには、シェルを開いて表示できるようにする必要があります (つまり、他のウィンドウによって隠されないようにする必要があります)。Jenkins などのツールは、 XvfbまたはXvncで X セッションを開始するプラグインを使用します。env 変数を設定するDISPLAYと、すべての UI レンダリングがこれらのセッションに移動します。

于 2012-06-22T14:07:01.790 に答える