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

首頁 > 系統(tǒng) > Android > 正文

Android調(diào)用系統(tǒng)裁剪的實(shí)現(xiàn)方法

2019-12-12 01:08:55
字體:
供稿:網(wǎng)友

Android調(diào)用系統(tǒng)裁剪,這個(gè)已經(jīng)使用的很熟悉了。但是近期項(xiàng)目里使用的時(shí)候遇到了一些小問題,所以在此整理一下,以作記錄。

首先看代碼:

Intent intent1 = new Intent("com.android.camera.action.CROP");      intent1.setDataAndType(Uri.fromFile(new File(image.path)), "image/*");      intent1.putExtra("crop", "true");      intent1.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(tempFile));//      intent1.putExtra("aspectX", 1);      intent1.putExtra("aspectY", 1);      intent1.putExtra("outputFormat", Bitmap.CompressFormat.JPEG);      intent1.putExtra("outputX", 720);      intent1.putExtra("outputY", 720);      intent1.putExtra("return-data", false);      startActivityForResult(intent1, 0x222);

這是修改之前的部分,看著沒有任何問題,裁剪能正常進(jìn)行。而且輸出尺寸720*720已經(jīng)算是比較小了,但是問題出現(xiàn)了,在裁剪圖片只使用一小塊的時(shí)候,圖片周圍出現(xiàn)了黑框。

一開始沒明白黑框是怎么加上去的,以后是服務(wù)端處理后加的(服務(wù)端多上傳到服務(wù)器的圖片都做了壓縮,一般顯示縮略圖)。但是經(jīng)過仔細(xì)查看,才發(fā)現(xiàn)圖片在我上傳之前就有了黑框,那問題就自然是出在我這里了。

查了好多資料,終究還是發(fā)現(xiàn)了問題的所在。因?yàn)樵诓眉舸髨D片或是高清圖時(shí),不管取多小,都不會有黑框,這就自然想到了裁剪后會有邊緣的自動填充。

知道了問題的所在,就好解決了,然后就查找解決方法,跟想法一樣,就是當(dāng)圖片裁剪后過小時(shí),做填充拉伸。后來找到了這條屬性,是這樣的:

intent.putExtra("scale", true);intent.putExtra("scaleUpIfNeeded", true);

這里不做解釋,英文的代碼都是有實(shí)際意義的,看字面意思差不多都能理解。

在用到了這兩條重要的屬性之后呢,我的裁剪方法就OK了,修改之后代碼是這樣的:

Intent intent1 = new Intent("com.android.camera.action.CROP");      intent1.setDataAndType(Uri.fromFile(new File(image.path)), "image/*");      intent1.putExtra("crop", "true");      intent1.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(tempFile));//      intent1.putExtra("aspectX", 1);      intent1.putExtra("aspectY", 1);      intent1.putExtra("outputFormat", Bitmap.CompressFormat.JPEG);      intent1.putExtra("outputX", 720);      intent1.putExtra("outputY", 720);      intent1.putExtra("scale", true);      intent1.putExtra("scaleUpIfNeeded", true);      intent1.putExtra("return-data", false);      startActivityForResult(intent1, 0x222);

因?yàn)樵诖a中加入了這一句:

intent1.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(tempFile));//

即指定了目標(biāo)文件,所以在onActivityResult里面可以直接使用tempFile。

以上這篇Android調(diào)用系統(tǒng)裁剪的實(shí)現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 綦江县| 浦城县| 呼玛县| 潞西市| 红原县| 三江| 宿州市| 尉犁县| 斗六市| 芒康县| 延川县| 平阴县| 同仁县| 福建省| 宜州市| 外汇| 泸溪县| 共和县| 安乡县| 砚山县| 邮箱| 洛南县| 华亭县| 固镇县| 宁乡县| 吕梁市| 青铜峡市| 大悟县| 镇宁| 广平县| 建始县| 大埔区| 阿城市| 长寿区| 临武县| 寿阳县| 襄樊市| 麦盖提县| 上栗县| 湖口县| 广灵县|