① (譯)uCrop介紹 —— 我們自己的android圖片裁剪庫
原文鏈接: https://yalantis.com/blog/introcing-ucrop-our-own-image-cropping-library-for-android
譯者: Eirture
我們在 Yalantis 開發了許多不同的 Android 應用,經驗告訴我們,幾乎在所有的應用中,都需要圖片裁剪的功能。圖片裁剪的用途很廣,從簡單的用戶頭像調整到圖片的比例裁剪、靈活變換等各種復雜的處理。
我們想為所有的用戶提供最好的圖片處理工具,所以決定創建Android的圖片裁剪庫 uCrop 。 可以在 Proct Hunt 上為 uCorp 投票。
也許你會好奇,為什麼我們不使用現成的 Android 圖片裁剪解決方案。 畢竟,可以在 Github 或者 Android Arsenal 上找到很多這類的庫。但是問題是,那些解決方案都不滿足我們的需求。我們來看一些主流的開源圖片裁剪庫,為什麼不符合我們的需求。
我在幾個項目裡面使用了 SoundCloud 庫很成功,但是仍然有幾個問題讓我很頭痛。
首先,你操作的是一個裁剪的框,而不是圖片本身。當需要裁剪一個很小面積的圖片時,這會你感覺有點痛苦。這是與用戶使用習慣向悖的。我確信 Instagram 傳授給我們的是一些優秀的 UX (用戶體驗),可以移動的裁剪框也已經滅絕了。
其次,SoundCloud 裁剪庫不允許用戶旋轉圖片。Come on, guys! 所有人都知道,有成百上千「不可思議」的安卓手機給照片設置了錯誤的EXIF信息(謝天謝地,我們有 CWAC 來清理這個爛攤子)。而且,很大部分的用戶是希望能夠轉動圖片的(不僅僅是 90 度)。
最後同樣重要的一點,使用 SoundCloud 庫不能改變長寬比。當然,如果你使用它僅僅是需要獲取一個方形的頭像,那沒有任何問題。但是,其它很多很有趣的頭像形狀,用這個庫無法實現。
Scissors 是一個新的庫,不久前我在一個 安卓問題周刊 上看到它的時候特別激動。但 5 分鍾內我的興奮就消失了。引用一句關於 Scissors 的 博文 :
這確實是一個值得稱贊的方法。實際上,我們找到又是一個不能旋轉圖片,也不能動態調整寬高比的庫。盡管 Scissors 集成了一些主流的圖片載入庫,像 Picasso , Glide 以及 Universal Image Loader 。希望 Scissors 在後續的版本中有更多實用的功能。
分析完這些現有庫的缺點,我們決定創建 自己的庫 ,支持手勢並且有一個良好的 UX。
安卓庫 uCrop 允許你修剪圖片來更好的使用。uCrop 重要的特性如下:
uCrop 有一個初始化的構建類型介面,來為你的應用配置一些適當的屬性。uCrop 庫最低的版本要求是 API 10,示例應用工作的版本是 API 15+ 。
你可以改變下面這個設置:
在下一篇文章中,將會展示我們構建 uCrop 的經歷,敬請關注!
② 如何在android開發中設計出一個四邊形(不是矩形,四邊均可一定)的照片裁剪框
裁剪框android自帶這樣的功能。
調用方式:
Intent intent = new Intent();
intent.setAction("com.android.camera.action.CROP");
intent.setDataAndType(mUri, "image/*");// mUri是已經選擇的圖片Uri
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);// 裁剪框比例
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 150);// 輸出圖片大小
intent.putExtra("outputY", 150);
intent.putExtra("return-data", true);
startActivityForResult(intent, 200);
③ 如何通過手機對照片進行修改-手機
通過手機對照片進行修改,您可以使用以下幾種方法:
使用手機自帶的照片編輯應用:
使用第三方照片編輯應用:
使用在線照片編輯工具:
使用專業軟體的移動版:
使用方法示例(以Snapseed為例):