簡體   English   中英

Android如何獲取屏幕快照位圖?

[英]Android how can I get screenshot bitmap?

要制作屏幕截圖,請使用以下代碼:

Process sh = Runtime.getRuntime().exec("su", null,null);

OutputStream  os = sh.getOutputStream();
os.write(("/system/bin/screencap -p " + "/sdcard/img.png").getBytes("ASCII"));
os.flush();

os.close();
sh.waitFor();

但這太慢了! 可能是因為手機正在將此圖像保存在存儲中。 要獲取此位圖,請使用以下代碼:

bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory()+         
File.separator +"img.png");

但這太慢了! 是否可以獲取位圖但不保存? 也許會快得多?

在這里,您可以使用View.getDrawingCache()返回當前繪制的View表面。

view.setsetDrawingCacheEnabled(true);
final Bitmap screenshot = view.getDrawingCache();
view.setDrawingCacheEnabled(false);    

//use bitmap

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM