Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android實現截取當前屏幕圖片並保存至SDCard

Android實現截取當前屏幕圖片並保存至SDCard

編輯:關於Android編程

功能 1. 實現截取當前屏幕的功能。   2. 把截取的圖片保存到SDCard中的某個目錄文件夾下面。     Java代碼 [java]   package com.app.test01;      import java.io.File;   import java.io.FileOutputStream;      import android.app.Activity;   import android.graphics.Bitmap;   import android.graphics.Bitmap.Config;   import android.os.Bundle;   import android.os.Environment;   import android.view.Display;   import android.view.View;   import android.view.View.OnClickListener;   import android.view.WindowManager;   import android.widget.Button;   import android.widget.Toast;      public class JieTu extends Activity {       private Button btnButton;          @Override       protected void onCreate(Bundle savedInstanceState) {           // TODO Auto-generated method stub           super.onCreate(savedInstanceState);           setContentView(R.layout.jietu);           btnButton = (Button) findViewById(R.id.button1);           btnButton.setOnClickListener(new OnClickListener() {               @Override               public void onClick(View v) {                   // TODO Auto-generated method stub                   GetandSaveCurrentImage();               }           });       }          /**       * 獲取和保存當前屏幕的截圖       */       private void GetandSaveCurrentImage() {           // 1.構建Bitmap           WindowManager windowManager = getWindowManager();           Display display = windowManager.getDefaultDisplay();           int w = display.getWidth();           int h = display.getHeight();           Bitmap Bmp = Bitmap.createBitmap(w, h, Config.ARGB_8888);           // 2.獲取屏幕           View decorview = this.getWindow().getDecorView();           decorview.setDrawingCacheEnabled(true);           Bmp = decorview.getDrawingCache();           String SavePath = getSDCardPath() + "/AndyDemo/ScreenImage";           // 3.保存Bitmap           try {               File path = new File(SavePath);               // 文件               String filepath = SavePath + "/Screen_1.png";               File file = new File(filepath);               if (!path.exists()) {                   path.mkdirs();               }               if (!file.exists()) {                   file.createNewFile();               }               FileOutputStream fos = null;               fos = new FileOutputStream(file);               if (null != fos) {                   Bmp.compress(Bitmap.CompressFormat.PNG, 90, fos);                   fos.flush();                   fos.close();                   Toast.makeText(this, "截屏文件已保存至SDCard/AndyDemo/ScreenImage/下",                           Toast.LENGTH_LONG).show();               }              } catch (Exception e) {               e.printStackTrace();           }       }          /**       * 獲取SDCard的目錄路徑功能       */       private String getSDCardPath() {           File sdcardDir = null;           // 判斷SDCard是否存在           boolean sdcardExist = Environment.getExternalStorageState().equals(                   android.os.Environment.MEDIA_MOUNTED);           if (sdcardExist) {               sdcardDir = Environment.getExternalStorageDirectory();           }           return sdcardDir.toString();       }   }     添加讀寫權限 由於要對SDCard進行操作,所以別忘記了在manifest.xml文件中賦以對SDCard的讀寫權限: [html]   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>    
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved