Flutterでカメラや画像処理など、ネイティブと強く依存する場合はネイティブの画面を開いた方がいい
自分は「Retory」という写真をテンプレートに載せることでいい感じの画像を作れる写真加工アプリを開発しています。
現在は画像にフィルターを作る実装をしています。
Googleの確認を待ってられない
以前に書いたGoogleの確認が必要になる件でまだ確認が終わってないようなので次の開発をスタートしました。
この記事の内容を要約すると以下になります。
・Googleログインを実装している場合でかつ、Googleの認証画面のアイコンを変更した場合、Googleの確認が必要になる
この審査を待ってられないので、次の開発をスタートしました。
それが先ほども登場した、画像フィルターです。
ここまで来るまでに色々試行錯誤したのでその話を書いてみます。
PlatformViewを断念する
画像の加工処理でネイティブ側に使いたいメソッドがあるのでPlatformViewを使うことにしました。
PlatformViewとは、簡単にいうと FlutterからネイティブのViewを FlutterのWidgetのように表示できるものです。
実装方法はこちら↓
PlatformViewだとWidgetのスクリーンショットができなかった
PlatformViewを試して画面に表示することができました。
ここで問題があって、WidgetのスクリーンショットではPlatformViewのViewもスクショできなかったです。
FlutterでWidgetのスクリーンショットをとる話はここで発表しました。
なので、PlatformViewを使うのをやめてFlutterだけで画像を加工することにしました。
そして実装した結果が先ほどのツイートの動画です。
ここから学んだ教訓は、カメラや画像処理などネイティブに強く依存する処理にはおとなしくViewContlorやActivityを起動するのがいいと思います。
FlutterからViewContlorを開く方法はこちら
次の実装
次回はGoogleの確認が先か、自分の実装が先かわかりませんが、テキストも画像を上に載せれるような実装をやっていこうと思います。
ここから先は
shogo.yamadaサービス開発研究所
shogo.yamadaがサービス開発についていろいろな考えや、アイデア、サービスを開発を継続させるための仕組み化の話をします。 現在SN…
投げ銭はいりません。それより無料でできる拡散をしてください!! 感想をツイートしていただけることが一番嬉しいです!!