android程式碼實現截圖功能
android開發中通過View的getDrawingCache方法可以達到截圖的目的,只是缺少狀態列!
原始介面
截圖得到的圖片
程式碼實現
1. 新增許可權(AndroidManifest.xml檔案裡)
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
2. 新增1個Button(activity_main.xml檔案)
3. 實現截圖(MainActivity.java檔案)<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:text="@string/hello_world" /> <Button android:id="@+id/btn_save" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Screenshot" /> </RelativeLayout>
package com.example.androidtest; import java.io.File; import java.io.FileOutputStream; import android.os.Bundle; import android.os.Environment; import android.app.Activity; import android.graphics.Bitmap; import android.view.Menu; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn = (Button) this.findViewById(R.id.btn_save); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { screenshot(); } }); } private void screenshot() { // 獲取螢幕 View dView = getWindow().getDecorView(); dView.setDrawingCacheEnabled(true); dView.buildDrawingCache(); Bitmap bmp = dView.getDrawingCache(); if (bmp != null) { try { // 獲取內建SD卡路徑 String sdCardPath = Environment.getExternalStorageDirectory().getPath(); // 圖片檔案路徑 String filePath = sdCardPath + File.separator + "screenshot.png"; File file = new File(filePath); FileOutputStream os = new FileOutputStream(file); bmp.compress(Bitmap.CompressFormat.PNG, 100, os); os.flush(); os.close(); } catch (Exception e) { } } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
相關推薦
android程式碼實現截圖功能
android開發中通過View的getDrawingCache方法可以達到截圖的目的,只是缺少狀態列! 原始介面 截圖得到的圖片 程式碼實現 1. 新增許可權(AndroidManifest.xml檔案裡) <uses-permission android:
android中 程式碼實現截圖功能(靜態+動態視訊)
分享下靜態截圖的功能程式碼: public class ScreenShot { // 獲取指定Activity的截圖,儲存到png檔案 static Bitmap takeScreenShot(Activity activity) { L
android實現截圖功能程式碼
android開發中通過View的getDrawingCache方法可以達到截圖的目的,只是缺少狀態列! APP原始介面 儲存截圖的檔案 程式碼的實現 1. 新增許可權(AndroidManifest.xml檔案裡) <uses-perm
iPhone 應用裡實現截圖功能的程式碼
UIView *view = [[[[[UIApplication sharedApplication] windows] objectAtIndex:1] subviews] lastObject];//獲得某個window的某個subView NSInteger i
Android視訊部分截圖功能實現
最近想用將android視訊接收app上加上螢幕截圖功能,直接在網上查詢截圖程式碼,發現結出來的圖不對勁,視訊視窗變成黑色的了,沒有截圖成功。而且網上大多數的方法都是利用view套件裡的getDrawingCache()函式。我繼續在網上查詢答案,發現有人這樣解
python程式碼實現截圖識字
有次網上down了個截圖實識的軟體,發現一天只能用10次要錢才能解鎖免費,很氣,作為一個菜雞怎麼能忍受 於是自己用python寫了個簡單的小工具,分享給大家 程式碼如下: 先安裝庫 1 from PIL import ImageGrab,Image 2 import keyboard #監控鍵
Android完美實現截圖
很多app都有截圖的需求,當你遇到產品經理給你提出這個需求時,你搜索了一下: 1.取View的cacheDrawable 來實現截圖,這種方案,沒有相容性問題,但是缺點有兩個: 不能截狀態列 遇到SurfaceView沒轍,surfacevi
Appium+JAVA實現截圖功能
接觸Appium時間不長,以下是截圖方法程式碼,做個筆記備忘。 //截圖 public void test(WebDriver driver){ File screen = ((RemoteWebDriver) driver).
在一張圖片上實現截圖功能
C++實現的在一張圖片上截圖,在此記錄兩種方便的截圖方式: 一、使用ATL和MFC 優點:多位元組編碼與Unicode通用 缺點:不能跨平臺 #include <atlimage.h> bool shot(const TCHAR* src_img, const
Android中實現截圖的幾種方式
一、起始原因 最近專案需求中需要實現螢幕截圖,開啟了新一輪的翻騰,找尋。是的,我就是一個搬運工,簡單的搬運工~~做不完的功能,連線不斷地需求~~ 基本需求:實現當前頁面截圖並儲存; 擴充套件需求:截圖去除自己新增的控制元件; 完善需求:截圖響應速度要快; 反饋完善需求:
js 利用html2canvas實現截圖功能
需要匯入的檔案:jquery.min.js,html2canvas.js,canvas2image.js,jquery.qrcode.min.js(如需二維碼) var shareContent = document.getElementById("imgmodel");
Android 程式碼實現螢幕截圖功能
private void screenshot() { // 獲取螢幕 View dView = getWindow().getDecorView(); dView.setDrawingCacheEnabled(true); dView.buildDrawingCac
Android開發:實現系統自帶截圖功能 需要獲取System許可權
在一個service介面上,點選一個button按鈕,可以截圖 貼上程式碼: mButton.setOnClickListener(new OnClickListener(){ public void onClick(View arg0) {
Android實現截圖和截長圖功能的幾種方法
一般情況下各種型號的手機都會有自帶的截圖功能,也會有諸如“開關機鍵+音量鍵”的截圖快捷鍵,只要手機是亮屏狀態,都會將手機螢幕的可視區域(包含狀態列)全部擷取下來。如果開發中想要調取系統的截圖功能,理論上講是可以的,需要在APK中呼叫“adb shell screencap -
android截圖功能實現
這篇文章實現了擷取當前Activity頁面,並把截圖圖片儲存在SD卡指定路徑下功能(親測可用)。 首先要確保manifest有操作SD卡許可權 <!-- 允許應用內建sd卡 --> <uses-permission android:name="
android應用裡面在某個介面禁止系統截圖功能的實現
在Activity的onCreate()方法的Layout初始化部分加入以下程式碼Window win = getWindow();win.addFlags(WindowManager.LayoutParams.FLAG_SECURE);具體的原因看下android原始碼S
Unity 程式碼實現PS的功能和區域性截圖及合併分享圖片
一、功能描述: 做一個獲取遊戲內容分享圖片功能,分截圖和長圖分享。圖片上要顯示玩家自定義的頭像 以及名字。 二、實現思路: 1、分享直接使用的share SDK 即可。 2、從伺服器下載背景模板圖片。
C#實現網頁截圖功能
jpeg near http 集合類 pri eve display aging img 網頁截圖是很常見的實用功能,今天就為大家共享一個實現瀏覽器截圖的代碼,主要程序代碼如下所示:private void Form_Load(object sender, EventAr
selenium testng webDriver 失敗異常截圖功能實現
參考資料: 引自:https://www.cnblogs.com/superbaby11/p/6426035.html https://blog.csdn.net/sinat_34209942/article/details/82881674 https://blog.csdn.net/
firefox外掛網頁截圖+python win32api+selenium實現整個網頁的長截圖功能
#ctrl+shift+L快捷鍵,經實踐比screengrap穩定,因為在使用的過程中當driver開啟一個新的視窗時,screengrap的快捷鍵ctrl+shift+!失效了不能使用 win32api.keybd_event (17, 0, 0, 0) # ctrl win32api.