【问题标题】:How to load a tif image in flutter web?如何在 flutter web 中加载一个 tif 图像?
【发布时间】:2022-11-24 14:21:11
【问题描述】:

如何在 flutter 中将 .tif 图像读取为图像小部件?

由于flutter默认不支持tif,请问有什么包或者方法可以加载和解码tif图片吗?

【问题讨论】:

    标签: flutter image tiff


    【解决方案1】:

    前段时间看到这样的问题。。。

    您可以解码图像并将其编码为 png 之类的

    import 'package:image/image.dart' as imgLib;
    imgLib.Decoder dec = imgLib.findDecoderForData(response.data);
    Image.memory(imgLib.encodePng(dec.decodeImage(response.data)))
    

    然后,您可以在图像中显示 png。

    干杯!!

    【讨论】:

    • 是的,但是我应该将图像加载为小部件,作为文件还是加载 de Bytes on (response.data)。我已经看到了这个答案,但它并没有太大帮助。你能把它放在更多的上下文中吗?谢谢!
    • 对我不起作用。由于 response.data 是一个 String 并且 findDecoderForData 需要一个 List<int> ,它是原始字节。在 findDecoderForData 上进一步返回 imgLib.Decoder?。事实证明,对于我的 tiff 图像,解码器始终为空。请进一步解释这对您有用吗?是否需要某种类型的解码 res.data ?
    【解决方案2】:

    如果响应数据是字符串,这段代码 sn-p 对我有用

    import 'package:image/image.dart' as imgLib;
    final dec = imgLib.findDecoderForData(base64Decode(url));
    Image.memory(
                  Uint8List.fromList(
                      imgLib.encodeJpg(dec!.decodeImage(base64Decode(url))!)),
                )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-15
      • 1970-01-01
      • 2019-06-29
      • 2021-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多