写真のトリミング(切り抜きと回転)を行うの?|ImageCropper|Android|Flutter


写真のトリミング(切り抜きと回転)が必要になるケースは結構あるけど、実装することを想像すると大変そうで、ちょっと気が引ける。

そんなときは、ImageCropper 3.0.1 を使って楽しちゃおう!


やり方

例えば、ImagePicker 0.8.6+3 でギャラリー(アルバム)から写真を取得して、その写真にトリミング(切り抜きと回転)を行いたい場合、以下のような実装になる。写真の”path(パス)”を指定するだけなので簡単だ。

---
/// ギャラリー(アルバム)から写真を取得
final XFile? photo = await ImagePicker().pickImage(
  source: ImageSource.gallery,
);

/// トリミング(切り抜きと回転)を行う画面を起動&処理後の写真を取得
final CroppedFile? croppedFile = await ImageCropper().cropImage(
  sourcePath: photo.path,
);
---


さらに PathProvider 2.0.13 を使えば、簡単に”アプリのローカル領域”へも File で保存できる。ここでも使うのは写真の”path(パス)”だけなので簡単だ。

---
/// ローカル領域(ディレクトリ)を取得
final Directory appDocDir = await getApplicationDocumentsDirectory();
final String appDocDirPath = appDocDir.path;

/// 空ファイルを作成
final file = File('$appDocDirPath/任意のディレクトリ/写真の名前');
await file.create(recursive: true);

/// ファイルへ写真データを書込(コピー)
await File(croppedFile.path).copy(file.path);
---


関連する記事


参照した記事


直近に読んでいた漫画(おすすめ)

コメント

このブログの人気の投稿

ImagePicker を操作すると「Lost connection to device.」とだけ言い残して強制終了するの?|iOS|Flutter

Android SDK バージョン(コンパイルに使用する Android API レベル)を変更するの?|compileSdkVersion|SDK|Android|Flutter