Flutter:将 jpg 转换为 webp

问题描述 投票:0回答:2

我想将 .jpg 或 .png 文件转换为 .webp。不幸的是图像包只支持webp读取而不支持写入。

一种解决方案是将linux二进制文件添加到flutter(cwebp)中,但如何顺利执行?我查了一下,发现这个问题一年多前就被问过,但仍然没有答案

我愿意接受任何建议,最终目标并不是格式本身,而是在手机分辨率上实现整体良好质量的最低文件大小。

image flutter dart image-compression webp
2个回答
10
投票

Flutter 有一个压缩包,称为

flutter_image_compress
。它有一个用于网页图像的压缩器。

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


0
投票

我参加聚会有点晚了,但 4 年后,leancode 制作了一个图像转换器,用于将资产图像转换为 webp。在酒吧搜索。我简单地查看了源代码,似乎 github 操作正在复制 cwebp 可执行文件。他们通过 dart:ffi 与其进行通信。也许可以利用这一点来创建到 webp 的按需转换,而不仅仅是您的资产。 https://github.com/leancodepl/flutter_webp

© www.soinside.com 2019 - 2024. All rights reserved.