0
我想在我的web視圖中抓取當前頁面的屏幕截圖,但是當我做屏幕截圖時,它正在操作欄中以及我不想要的。我只是想獲得網絡視圖。這可能嗎 ?Android沒有操作的web視圖的屏幕截圖吧
私人無效goScreenShot(){
// Get device dimmensions
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
// Get root view
View view = mWebView.getRootView();
// Create the bitmap to use to draw the screenshot
final Bitmap bitmap = Bitmap.createBitmap(size.x, size.y, Bitmap.Config.ARGB_8888);
final Canvas canvas = new Canvas(bitmap);
// Get current theme to know which background to use
final Activity activity = this;
final Theme theme = activity.getTheme();
final TypedArray ta = theme
.obtainStyledAttributes(new int[] { android.R.attr.windowBackground });
final int res = ta.getResourceId(0, 0);
final Drawable background = activity.getResources().getDrawable(res);
// Draw background
background.draw(canvas);
// Draw views
view.draw(canvas);
// Save the screenshot to the file system
FileOutputStream fos = null;
try {
final File sddir = new File(SCREENSHOTS_LOCATIONS);
if (!sddir.exists()) {
sddir.mkdirs();
}
//fos = new FileOutputStream(SCREENSHOTS_LOCATIONS
// + System.currentTimeMillis() + ".jpg");
fos = new FileOutputStream(SCREENSHOTS_LOCATIONS
+ "Screenshot" + ".jpg");
Log.d("screenshot location", SCREENSHOTS_LOCATIONS.toString());
if (fos != null) {
if (!bitmap.compress(Bitmap.CompressFormat.JPEG, 90, fos)) {
Log.d("ScreenShot", "Compress/Write failed");
}
fos.flush();
fos.close();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
startActivity(new Intent(WebViewActivity.this, ScreenViewer.class));
}
感謝您的答覆。有什麼機會可以讓我稍微推動一下? – cmhdev 2013-03-05 15:03:26
謝謝你的幫助! – cmhdev 2013-03-05 18:58:24