国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

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

2020-04-11 12:06:46
字體:
來源:轉載
供稿:網友

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

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.這樣的話就獲取到了圖片的一個快照

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 哈巴河县| 永丰县| 枣庄市| 奎屯市| 维西| 南充市| 麟游县| 通江县| 北票市| 漠河县| 横山县| 太康县| 隆化县| 林芝县| 三河市| 古交市| 临泉县| 余干县| 宝鸡市| 淮安市| 淄博市| 沂源县| 瑞安市| 土默特右旗| 新丰县| 芜湖县| 封丘县| 张家口市| 银川市| 普宁市| 堆龙德庆县| 光山县| 烟台市| 萨迦县| 奉贤区| 白城市| 马边| 丰原市| 壤塘县| 安化县| 巴林左旗|