見出し画像

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の確認が先か、自分の実装が先かわかりませんが、テキストも画像を上に載せれるような実装をやっていこうと思います。


ここから先は

14字
月数本、サービス開発物語をお届けしています◎月2本以上読む場合は、月額でのマガジン購読がお得です!

shogo.yamadaサービス開発研究所

¥498 / 月 初月無料

shogo.yamadaがサービス開発についていろいろな考えや、アイデア、サービスを開発を継続させるための仕組み化の話をします。 現在SN…

投げ銭はいりません。それより無料でできる拡散をしてください!! 感想をツイートしていただけることが一番嬉しいです!!