Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android獲取照片的快照 思路及實現方法

android獲取照片的快照 思路及實現方法

編輯:關於Android編程

當我們在做相冊、上傳相關的應用的時候需要獲取圖片的快照,這時候就需要獲取圖片的快照。

android中專門有一個BitmapFactory類可以來處理這類需求。

實現的步驟如下:

1.首先解析出圖片文件(注意在這裡為了節約內存將inJustDecodeBounds設為true,這樣的話解析的圖片的話只有圖片的尺寸大小信息)
復制代碼 代碼如下:
BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options();
bmpFactoryOptions.inJustDecodeBounds = true;
Bitmap bmp = BitmapFactory.decodeFile(imageFilePath, bmpFactoryOptions);

2.獲取圖片的實際尺寸,並且算出實際大小和要顯示的大小的比例
復制代碼 代碼如下:
int heightRatio = (int) Math.ceil(bmpFactoryOptions.outHeight/ (float) DISPLAYHEIGHT);

int widthRatio = (int) Math.ceil(bmpFactoryOptions.outWidth/ (float) DISPLAYWIDTH);

3.這兒是關鍵,為了只獲取這個圖片的快照需要將inSampleSize屬性設置為上一步算出的比例,這樣的話顯示的圖片寬高為 1/比例,大小為 1/比例的平方
復制代碼 代碼如下:
if (heightRatio > 1 && widthRatio > 1) {
            if (heightRatio > widthRatio) {
                bmpFactoryOptions.inSampleSize = heightRatio;
            } else {
                bmpFactoryOptions.inSampleSize = widthRatio;
            }
        }

4.最後在重新解析一遍圖片
復制代碼 代碼如下:
bmpFactoryOptions.inJustDecodeBounds = false;
bmp = BitmapFactory.decodeFile(imageFilePath, bmpFactoryOptions);

5.這樣的話就獲取到了圖片的一個快照

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved