Androidアプリ開発で画像を加工するならuCrop(注意点あり

のえる のえる
2020.07.29

アプリ内で画像を取得して何かをする、という機能はスマホアプリにおいて当たり前となってきました。

 

しかし、標準で画像をCropする機能自体は提供されておらず、自前で作る必要があります。

 

今回は画像のCropを楽に行えるライブラリ uCrop の使い方を説明します。

はじめに

今回開発する環境は下記のとおりです。

 

Android: Stuiod: 4.0.1
minSdkVersion: 24
targetSdkVersion: 30
compileSdkVersion: 30
Gradle: 6.1.1

ライブラリ設定

まずはリポジトリを追加します。

 

 

リポジトリを追加したら Gradle にライブラリを追加する内容を記載しましょう。

 

 

これでライブラリを使用することができます。

機能を組み込む

uCropの機能を導入していきます。

 

まずは AndroidManifest.xml ファイルに uCrop の Activity を追加します。

 

 

そして使いたい Activity にプログラムを追加しましょう。

 

 

uCropの開き方は下記のような感じです。

 

 

ここでのポイントは getExternalFilesDirではうまく動かない という点です。
このことに気づくまでにずいぶんと時間を取られました(公式には記載されていないです)

 

そのため、上記の例では cacheDir にファイルを作成しており、この場合は正常に動作します。

 

また、使用しているオプションなどはメソッド名から察することが可能なので、説明は割愛させていただきます。

 

さいごに、Cropされた後の画像を取得するには下記のとおりです。

 

 

ここまで来ればもうお判りでしょう。

 

Uri を利用して画像を操作していくことができます。

さいご

画像のCropや傾きを1つのライブラリで操作できるのはとても助かりますね。

 

もし不明点などがあれば公式を見てみてはいかがでしょうか。

 

GitHub – Yalantis/uCrop

 

ではでは。

スポンサーリンク

POPULAR

のえる

のえる

Full-stack Developer