首页 > 解决方案 > 将普通的 Uint8List 转换为图像小部件

问题描述

我是 Flutter 的新手,我有一个关于我的一个小项目的问题。

我正在尝试显示我通过套接字接收的图像。我有一个 Uint8List 表示图像矩阵(未以任何方式编码),并且我已成功将其转换为带有以下代码的 Image 小部件:

Image im = Image.fromBytes(1280, 1024, frameData, format: Format.luminance);
var jpgImage = encodeJpg(im);
.
.
//In Widget:
return Image.memory(jpgImage, gaplessPlayback: true);

它有效,但它需要太多时间。我看到 encodeJpg 函数至少需要 150 毫秒,这对我来说太多了,因为每个这样的图像都是流视频的一部分。

我的问题是,如何以最有效的方式将一个普通的(未编码的)Uint8List - 表示一个常规矩阵,0-256 个值,转换为一个 Image 小部件?

谢谢!

标签: imageflutterdart

解决方案


图像小部件的构造函数很少,其中之一是内存。

检查Image.memory(bytes)工厂构造函数。

https://api.flutter.dev/flutter/widgets/Image/Image.memory.html


推荐阅读