image - 将普通的 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 小部件?
谢谢!
解决方案
图像小部件的构造函数很少,其中之一是内存。
检查Image.memory(bytes)
工厂构造函数。
https://api.flutter.dev/flutter/widgets/Image/Image.memory.html
推荐阅读
- sql - 存储过程突然变慢了
- php - Php Mysql 准备的语句自上传到 produktion 后不起作用
- css - 无法将 CSS 自定义属性(又名 CSS 变量)与 SASS @if 语句一起使用
- javascript - 如果输入相同,如何更新输入的跨度?如果不同,它已经改变了
- python-3.x - 如何从 faceit 中抓取链接
- google-chrome - 网络瀑布缺口,等待主线程
- java - 寻找在 Java 中检测 AWS Lambda 超时(超时前几秒)并进行测试的方法
- javascript - (Vue + Laravel) 如何从 axios 响应数据中更新一个对象并在另一个函数中使用它?
- dataframe - 如何在 Julia 中嵌套/取消嵌套数据框?
- for-loop - 在for循环中使用整数计数器(i,j,k)来生成表名/地址时,如何显式调用Lua表值?