Android調(diào)用系統(tǒng)裁剪,這個已經(jīng)使用的很熟悉了。但是近期項目里使用的時候遇到了一些小問題,所以在此整理一下,以作記錄。
在西疇等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計,營銷型網(wǎng)站建設(shè),外貿(mào)網(wǎng)站制作,西疇網(wǎ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)了,在裁剪圖片只使用一小塊的時候,圖片周圍出現(xiàn)了黑框。
這里不做解釋,英文的代碼都是有實際意義的,看字面意思差不多都能理解。
在用到了這兩條重要的屬性之后呢,我的裁剪方法就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);
因為在代碼中加入了這一句:
intent1.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(tempFile));//
即指定了目標(biāo)文件,所以在onActivityResult里面可以直接使用tempFile。
以上這篇Android調(diào)用系統(tǒng)裁剪的實現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持創(chuàng)新互聯(lián)。