こんにちは。エキサイトでアプリエンジニアをしている岡島です。
今回は、画像圧縮を行うライブラリであるflutter_image_compressの対応画像形式について調べたのでまとめていこうと思います。
環境
flutter_image_compress: 2.4.0
画像圧縮方法
flutter_image_compressを用いると下記コードのように、圧縮したい画像ファイルのpathと出力先のpathを指定し、画像品質をqualityで指定すると画像圧縮ができます。
final result = await FlutterImageCompress.compressAndGetFile( filePath, // 画像ファイルのパス targetPath, // 出力先のパス quality: 88, // 画像品質 );
ファイルを圧縮してUint8Listを取得する関数やUint8List形式のデータを圧縮する関数も用意されているので、詳しくはライブラリのReadmeをご参照ください。
サポートされる画像形式
この記事ではiOSとAndroidのプラットフォームについて、サポートされている画像形式を見ていきます。
入力形式
出力形式
出力形式 | iOS対応 | Android対応 |
---|---|---|
jpeg | ✅ | ✅ |
png | ✅ | ✅ |
heic | ✅ | ✅ |
webp | ✅ | ✅ |
heic形式はiOS 11以上、Android API 28以上でサポートされています。
出力形式の指定方法
enumでCompressFormat
が用意されているので、CompressFormat.jpeg
のようにformatを指定します。
デフォルトではjpeg形式に設定されています。
final result = await FlutterImageCompress.compressAndGetFile( filePath, targetPath, quality: 88, format: CompressFormat.png, // 出力formatを指定 );
最後に
今回はflutter_image_compressで対応しているファイル形式についてまとめてみました。 この記事が誰かのお役に立てれば幸いです。