flutter 不支持avif图像格式

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

我从服务器获取了 avif 图像,但图像未显示。

我尝试过 Image.network()CachedNetworkImage 显示 avif 图像。

Exception: Invalid image data

When the exception was thrown, this was the stack: 
#0      _futurize (dart:ui/painting.dart:5326:5)
#1      ImageDescriptor.encoded (dart:ui/painting.dart:5194:12)
#2      instantiateImageCodec (dart:ui/painting.dart:2048:60)
<asynchronous suspension>
Image provider: NetworkImage("https://www.soppiya.com/media/images/610fc7bb172b28ecf8655216/item/6122493b75ca8186640a03ae/image1.avif?x=62433", scale: 1.0)
Image key: NetworkImage("https://www.soppiya.com/media/images/610fc7bb172b28ecf8655216/item/6122493b75ca8186640a03ae/image1.avif?x=62433", scale: 1.0)
flutter dart image-formats avif
3个回答
0
投票

您可以转换图像,但不支持此格式。

支持以下图像格式:JPEG、PNG、GIF、动画 GIF、WebP、动画 WebP、BMP 和 WBMP。

有关更多信息,请阅读图像类


0
投票

这是一个能够对 AVIF 照片进行解码和编码的 Flutter 库。

https://github.com/yekeskin/flutter_avif


0
投票

没错,Flutter 本身目前还不支持 AVIF。这里有一个悬而未决的问题: https://github.com/flutter/flutter/issues/61229。如果 AVIF 支持对您很重要,那么您可以对该问题点赞,以帮助优先处理该问题。

正如对该问题的评论所解释的,Flutter 使用平台的解码器(如果存在)。因此,特别是对于 Android 12+,AVIF 将起作用。

正如另一个答案提到的(也在问题线程中),有一个第三方包为 Flutter 提供 AVIF 支持: https://pub.dev/packages/flutter_avif。因此,如果您需要 AVIF 支持,这是一个可以考虑的选项。

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