android圖片裁剪上傳圖片
㈠ 調用android系統的圖片裁剪方式問題和解決方式
調用android系統的圖片裁剪方式問題和解決方式:
如果你的程序中使用的圖片裁剪方式是這樣子的話:
1、調用系統自帶的圖片裁剪頁面,吧圖片保存在inetnt中;
2、裁剪完畢通過intentData取出圖片
如果使用這種方式,就會遇到一個問題:
在某些手機(本人遇到的情況是小米3)上面無法跳轉到系統的圖片裁剪頁面,或者IntentData是null。
這種方式是把圖片放在intent中傳遞,而intent在安卓中的定義是傳遞輕量級的數據,顯然傳遞圖片是不合適的,高性能的手機可能沒問題,性能差點的手機就會出問題了。、
解決方式:
1、用intent傳遞圖片的Uri:
private staticUrimUriFile;
2、裁剪完畢通過Uri取出圖片:
這里要注意取圖片的方式,小心oom。把規避oom的方式也貼出來:
㈡ Android 圖片選擇(ImageSelector) (拍照,裁剪,壓縮,查看)
1.遍歷sdcard文件夾(指定層次深度 searchDeep ),如果文件夾發現圖片 , 添加到已搜索到圖片的文件列表中,並跳入下一個文件夾搜索
2.使用 ContentResolver 搜索 添加搜索標簽(png,jpg,jpeg,gif 等) 優點:更快速
壓縮調用
第一步-->
采樣率壓縮:設置 BitmapFactory.Options.inSampleSize 大小
第二步-->
PNG:尺寸壓縮( Config:ARGB_4444 ,工具: Canvas );
JPG:尺寸壓縮( Config:ARGB_565 ,工具: Canvas )+壓縮質量( bitmap.compress() )
注 :
1.GIF不做壓縮處理
2.尺寸壓縮:改變寬高(png,jpg)
3.壓縮質量:改變文件大小(適用jpg,png無效)