andorid下從相簿選取 拍照選取一張相片並剪下

2022-03-23 11:45:38 字數 2738 閱讀 2737

在android程式設計中,從相簿選取或是拍照選取一張**然後對其進行剪下的需求非常的多

我們先說一下思路,在android系統中就自帶了剪下的應用,所以,我們只需要將我們獲取到的相片傳給剪下應用,再將剪下好的相片返回到我們自己的介面顯示就ok了

第一步,我們可以先啟用系統或是相機來獲取相片,看**?1

2345

6789

1011

1213

1415

1617

1819

2021

2223

2425

2627

28/*

* 從相簿獲取

*/

publicvoidgallery(view view)

/*

* 從相機獲取

*/

publicvoidcamera(view view)

// 開啟乙個帶有返回值的activity,請求碼為photo_request_carema

startactivityforresult(intent, photo_request_carema);

}

第二步,通過startactivityforresult()方法我們可以在onactivityresult()中來獲取到相應的返回值?1

2345

6789

1011

1213

1415

1617

1819

2021

2223

2425

2627

2829

3031

3233

3435

@override

protectedvoidonactivityresult(intrequestcode,intresultcode, intent data)

}elseif(requestcode == photo_request_carema)else

}elseif(requestcode == photo_request_cut)

trycatch(exception e)

}

super.onactivityresult(requestcode,

resultcode, data);

}

第三步,注意到裡邊有乙個crop()方法,顧名思義,就是用於剪下的?1

2345

6789

1011

1213

1415

1617

1819

2021

/*

*

剪下*/

privatevoidcrop(uri uri)

第四步,在剪下完成後,切圖應用就會將通過onactivityresult()返回給我們

通過bitmap bitmap = data.getparcelableextra("data");我們就拿到了我們想要的bitmap

接下來拿著這個bitmap你想幹嘛就幹嘛吧

由於上邊的**涉及到讀寫sdcard,所以要記得在清單檔案中授權?1

附上幾張效果圖

小公尺拍照以及選取相簿資料為空問題

最近做專案測試小公尺機器時發現小公尺裝置在呼叫系統相機以及相簿時選取的資料一直返回為null,下面是我的解決方法 許可權申請這裡就不寫了,預設已經申請了許可權 開啟系統相機有兩種方式,一種就是指定intent然後開啟相機,另一種是指定相機拍照儲存的路徑拍照 private static final ...

從MySQL隨機選取資料

從mysql隨機選取資料 2014 06 23 從mysql隨機選取資料最簡單的辦法就是使用 order by rand 方案一 select from table order byrand limit 0,1 這種方法的問題就是非常慢。原因是因為mysql會建立一張零時表來儲存所有的結果集,然後給...

小公尺手機相簿選取後的intent為空?

一 問題現象 在小公尺手機選擇相簿 裁剪後發現拿不到 展示不出來,通過debug發現小公尺手機上的intent返回了空 override public void onactivityresult int requestcode,int resultcode,intent data buff.tost...