Search code examples
imageflutterdartimage-compressionwebp

Flutter : Convert jpg to webp


I want to convert .jpg or .png files to .webp. Unfortunately image package only support webp reading and not writing.

One solution would be to add the linux binary file to flutter (cwebp), but how to execute it smoothly ? I checked and found that this question was asked over 1 year ago and still unanswered

I am open to any suggestion, the end goal is not so much the format in itself but the lowest file size for overall good quality on mobile phone resolution.


Solution

  • Flutter has a compressor package, called flutter_image_compress. It has a compressor for web images.

    Future<Uint8List> testComporessList(Uint8List list) async {
        final result = await FlutterImageCompress.compressWithList(
          list,
          minHeight: 1080,
          minWidth: 1080,
          quality: 96,
          rotate: 270,
          format: CompressFormat.webp,
        );
        print(list.length);
        print(result.length);
        return result;
      }
    

    https://pub.dev/packages/flutter_image_compress