Flutter - 来自 Codec 对象的图像对象

Flutter - Image object from Codec object

图像 class 文档说明

"To obtain an Image object, use instantiateImageCodec."

instantiateImageCodec 文档指出

"Instantiates an image codec Codec object."

由此可以合理地假设 Codec 是 Image 的子class...不!我无法在任何地方找到有关如何从 Codec 对象获取 Image 对象的信息。

下面的转换函数需要什么功能?

Image convert(Codec c){
    ...
}

我尝试使用它的代码如下:

static Future<Image> convertBytesToImage(List<int> bytes){
    Uint8List list = Uint8List(bytes.length);
    list.setAll(0, bytes);
    Future<Codec> codec = instantiateImageCodec(list);

    // Do something here so that I can return as Future<Image>
}

Flutter 有多个 类 名为 Image。你真的想要一个 dart:ui Image 对象吗?如果您想要 ImageProviderImage 小部件 一起使用,您可以使用 MemoryImage (to get an ImageProvider) or Image.memory(直接转到小部件)。

如果确实需要使用dart:uiImage,那么可以使用(await codec.getNextFrame()).image.