android crop 大圖,com.android.camera.action.CROP 實現圖片剪裁

APP 中選取圖片之后,有時候需要進行剪裁,比如頭像。

以下是啟動代碼。

在我的項目中,傳的是 filePath,所以我轉了一下,但實際上從相冊選擇圖片后,用 data.getData() 就可獲得 uri。Uri uri = Uri.fromFile(new File(filePath));

Intent intent = new Intent("com.android.camera.action.CROP");

intent.setDataAndType(, "image/*");

intent.putExtra("crop", "true"); // 可剪裁

intent.putExtra("aspectX", 10); // 高比例

intent.putExtra("aspectY", 10); // 寬比例

intent.putExtra("outputX", size); // 寬尺寸

intent.putExtra("outputY", size); // 高尺寸

intent.putExtra("scale", true); // 保持比例

intent.putExtra("return-data", true); // 剪裁后,是否返回 Bitmap

intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);

intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString()); // 輸出 JPEG

intent.putExtra("noFaceDetection", false); // 人臉識別,開啟后,探測到人臉后會將剪裁框移到人臉上

activity.startActivityForResult(intent, 123456); // 啟動

以下是剪裁后的處理:@Override

public void onActivityResult(int requestCode, int resultCode, Intent data) {

if (requestCode == 123456 && resultCode == RESULT_OK) {

// 用戶頭像剪裁后

Bitmap bitmap = data.getExtras().getParcelable("data");

// 演示保存到緩存中

// 目錄

String cacheDirectoryPath = getCacheDir().getPath();

File dir = new File(cacheDirectoryPath);

if (!dir.exists()) {

dir.mkdirs(); // 目錄不存在就創建

}

// 文件保存

String filePath = cacheDirectoryPath + File.separator + "cutted.jpg";

File file = new File(filePath);

try {

FileOutputStream fos = new FileOutputStream(file);

//通過io流的方式來壓縮保存圖片

bmp.compress(Bitmap.CompressFormat.JPEG, 60, fos);

fos.flush();

fos.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

注意:由于安卓的亂象,啟動剪裁時,某些手機中會報 ActivityNotFound 的異常。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/397409.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/397409.shtml
英文地址,請注明出處:http://en.pswp.cn/news/397409.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Who Gets the Most Candies? POJ - 2886 (線段樹)

按順時針給出n個小孩,n個小孩每個人都有一個紙,然后每個人都有一個val,這個val等于自己的因子數,如果這個val是正的,那就順時針的第val個孩子出去,如果是負的話,就逆時針的第val個孩子出去&…

javax.validation.ValidationException: Unable to find a default provider

2019獨角獸企業重金招聘Python工程師標準>>> [ERROR] [2016-11-16 13:58:21 602] [main] (FrameworkServlet.java:457) Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name org.springframewo…

第十章練習題----2

package com.Hanqi2;public class xitizhuhanshu {public static void main(String[] args) {// TODO Auto-generated method stubxiti tm new xiti("黑色","15寸");xitizhs tm3 new xitizhs("藍色","15寸");tm.Call("654"…

關于微信“被返回頁”在被返回時自動刷新

網上有很多這些文章,但我覺得沒一篇真正解決這個問題,倒是能給人一個解決方案的思路,對,就是posState事件。 要解決這個問題也不難,使用history的replaceState屬性替換當前網頁鏈接(其實作用是在不增加hist…

android視頻播放器api,03.視頻播放器Api說明

03.視頻播放器Api說明目錄介紹01.最簡單的播放02.如何切換視頻內核03.切換視頻模式04.切換視頻清晰度05.視頻播放監聽06.列表中播放處理07.懸浮窗口播放08.其他重要功能Api09.播放多個視頻10.VideoPlayer相關Api11.Controller相關Api12.邊播放邊緩存api13.類似抖音視頻預加載14…

使用Python重命名MP3標簽

從Window復制MP3文件的到Ubuntu下,MP3標簽很多是亂碼。于是想自己寫個Python程序處理一下。 從酷狗復制過來的音樂文件名都是“作者 - 標題”,所以可以通過解析文件名直接獲取作者和標題信息。 需要下載eyeD3模塊 $ sudo apt-get install python-eyed3 代…

Taurus.MVC 2.0 開源發布:WebAPI開發教程

背景: 有用戶反映,Tausus.MVC 能寫WebAPI么? 能! 教程呢? 嗯,木有! 好吧,剛好2.0出來,就帶上WEBAPI教程了! 開源地址: https://github.com/cyq116…

android 鎖屏 home,android 鎖屏界面禁用長按home 和menu(recent apps)

android 5.1 系統中public long interceptKeyBeforeDispatching(WindowState win, KeyEvent event, int policyFlags) {//檢查當前是否鎖屏, 可以添加getTopApp()判斷當前activity 來屏蔽2398 final boolean keyguardOn keyguardOn();添加新的方法://獲…

Chrome瀏覽器調試踩坑

Chrome瀏覽器若在響應式狀態下,頁面縮放比例不是100%,元素會“竄位”,點擊元素會點擊到元素周圍的元素 Chrome頁面縮放比例不為100%時,table的單元格就算沒有邊框(CSS去掉了)也會顯示出邊框(縫隙…

WordPress 博客文章時間格式the_time()設置

國外設計的WordPress 主題里的文章的時間格式是類似“十一月 21, 2010”這種格式的,而中國人習慣的是年在前,月緊跟其后,日在末尾,所以看國外的就顯得很別扭,但是我們可以通過修改WP時間代碼來設置成為我們中國人習慣的…

linux yum

更改linux YUM源方法:第一步:進入yum配置文件目錄:cd /etc/yum.repos.d/第二步:備份配置文件:mv CentOS-Base.repo CentOS-Base.repo.bak第三步:下載網易的配置(或其他源配置文件)&a…

chrome瀏覽器去掉緩存的方法

方法一: 1.開發說打開開發者工具 勾選這個訪問可以 方法二: commandshiftR 轉載于:https://www.cnblogs.com/kaibindirver/p/9378572.html

Apache Tomcat目錄下各個文件夾的作用

1.bin:存放各種不同平臺開啟與關閉Tomcat的腳本文件。 2.lib:存tomcat與web應用的Jar包。 3.conf:存放tomcat的配置文件。 4.webapps:web應用的發布目錄。 5.work:tomcat把由各種jsp生成的servlet文件存放的地方。 6.l…

sony z2 android 5.0,索尼Xperia Z2 5.0 root教程_索尼Z2獲取5.0系統的root

來說一下咱們的索尼Xperia Z2手機的5.0系統的root,因為現在很多機友的系統是5.0的,可是對于5.0的系統很多機友還不知道如何進行root操作,之前的針對4.4的系統的root方法肯定是用不到5.0的系統上的,因此需要專門的針對5.0的root軟件…

ABP文檔 - Javascript Api - AJAX

本節內容: AJAX操作相關問題ABP的方式 AJAX 返回信息處理錯誤 HTTP 狀態碼WrapResult和DontWrapResult特性 Asp.net Mvc 控制器Asp.net Web Api 控制器動態Web Api層Asp.net Core 控制器動態Web Api層AJAX操作相關問題 執行一個AJAX調用在現在的應用里非常常見&…

視達配色教程17 灰色的色彩意象是什么

視達配色教程17 灰色的色彩意象是什么 一、總結 一句話總結:沒有個性的色彩 1、灰色的一般意象是什么? 所有混沌的情感不友好的色彩可怕、恐怖和殘忍感情貧乏或者內向年齡和年老遺忘的過去貧困與謙虛劣等的顏色秘密與非法合適的中等-男式時裝的標準 二、…

AngularJs 相應回車事件

最近做項目,要用到AngularJs,之前也有用過一點點,但僅限于數據的綁定,這次項目要整個前端需要使用這個框架,可能是不熟悉的原因,感覺這代碼搞起來非常的不便利,;現總結一個響應回車事…

android6流暢,Android應用流暢(Seamlessness)設計

即使你的應用程序是快速且響應靈敏的,但一些設計仍然會給用戶造成問題——與其它應用程序或對話框未事先計劃的交互,意外的數據丟失,意料之外的阻塞等 等。避免這些問題,有助于理解應用程序運行的上下文和系統的交互過程&#xff…

stack overflow--技術問答網站

轉自:http://baike.baidu.com/link?urleMR6Pwdk9IkauI5B3nZb2Yo3VUAcK6vQfrMpcSMPWqgH0ngqFkup3Gdr3t_s_yZe_UFwkR8c1pboaxhEuY-iwF_nGiUYHajEPMO6Y1kqWvT8aPz7a_T6t3a1vxyTccgKl_UIx1cU-6IP7qjre2ijtq Stack Overflow是一個與程序相關的IT技術問答網站。用戶可以在…

8782:乘積最大

【題目描述】 有一個長度為N的數字串,要求選手使用K個乘號將它分成K1個部分,找出一種分法,使得這K1個部分的乘積能夠為最大。 【題目鏈接】 http://noi.openjudge.cn/ch0206/8782/ 【算法】 決策過程:決策插入第i個乘號的位置使插…