📸

Flutter でカメラ/カメラロール を利用する方法

2020/11/30に公開

iOS の UIImagePickerController にあたるものを Flutter で実装したときの知見を残します。

導入

flutter.dev 公式の image_picker を利用します

dependencies:
  image_picker: ^0.6.7+14

ラッパークラスを作成

ライブラリのIF変更に耐えうる様に念のためラッパークラスを作成しておきます。

import 'package:image_picker/image_picker.dart';

class ImagePickerUtil {

  static Future<PickedFile> getImage({
    ImageSource source
  }) async {
    final ImagePicker picker = ImagePicker();
    final file = await picker.getImage(source: source);

    return file;
  }

}

カメラ・ギャラリーを呼ぶ

以下の様にラッパークラスのメソッドをコールして カメラ or ギャラリー を呼び出して利用します

// カメラ
final cameraFile = await ImagePickerUtil.getImage(source: ImageSource.camera);
// ギャラリー
final galleryFile = await ImagePickerUtil.getImage(source: ImageSource.gallery);

Discussion