这是【Flutter 问题系列第 71 篇】,如果觉得有用的话,欢迎关注专栏。

Flutter 版本:2.5.0,Dart 版本:2.14

因为最近一直在处理照相机、裁剪图片和 OCR 图片识别的功能,所以频繁的和 Image、Uint8List 打交道。

这篇博客把工作中用到的两者相互转换的方法总结下,方便大家查看。

需要先引入

  • import ‘dart:ui’ as ui;
  • import ‘dart:typed_data’;

一:Uint8List 转 Image

Uint8List 转 Image 提供了两种方式,如下代码所示

  /// Uint8List 转 Image 方式一ui.Image _fun1(Uint8List list) {late ui.Image image;ui.decodeImageFromList(list, (ui.Image callBack) {image = callBack;});return image;}/// Uint8List 转 Image 方式二Future<ui.Image> _fun2(Uint8List list) async {ui.Codec codec = await ui.instantiateImageCodec(list);ui.FrameInfo frame = await codec.getNextFrame();return frame.image;}

二:Image 转 Uint8List

如下代码所示

  Future<Uint8List?> _fun(ui.Image image) async {ByteData? byteData = await image.toByteData();if (byteData != null) {Uint8List bytes = byteData.buffer.asUint8List();return bytes;}return null;}

拿走直接用就行了,没什么好说的。

你的问题得到解决了吗?欢迎在评论区留言。

赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。


结束语

Google 的 Flutter 越来越火,截止 2022年6月28日 GitHub 标星已达 142K,Flutter 毅然是一种趋势,所以作为前端开发者,没有理由不趁早去学习。

无论你是 Flutter 新手还是已经入门了,不妨先点个关注,后续我会将 Flutter 中的常用组件(含有源码分析、组件的用法及注意事项)以及可能遇到的问题写到 CSDN 博客中,希望自己学习的同时,也可以帮助更多的人。

【Flutter 问题系列第 71 篇】Flutter 中 Uint8List 和 Image 之间的相互转换相关推荐

  1. 【Flutter 问题系列第 15 篇】如何给 Flutter 中的图片设置透明度

    这是[Flutter 问题系列第 15 篇],如果觉得有用的话,欢迎关注专栏. 在 Flutter 中,如果背景色是颜色的话,我们知道可以直接通过 Color.fromRGBO(r, g, b, op ...

  2. 【Flutter 问题系列第 22 篇】在 Flutter 中如何截取屏幕并显示到页面中,以及如何将截图保存到相册

    这是[Flutter 问题系列第 22 篇],如果觉得有用的话,欢迎关注专栏. 关于在 Flutter 中如何截取屏幕,以及如何将截图保存到相册的文章少之又少,即使有,也是错误一大片,有的甚至运行后都 ...

  3. 【Flutter 问题系列第 5 篇】Flutter 去除 ListView 组件中的蓝色回弹效果

    这是[Flutter 问题系列第 5 篇],如果觉得有用的话,欢迎关注专栏. ListView 组件默认的滑动效果如下 可以看到,在顶部向下拖动或者到底部向上拖动时,会有一个蓝色的回弹效果. 这是因为 ...

  4. 【Flutter 问题系列第 41 篇】Cannot provide both a color and a decoration,To provide both, use “decoration“

    这是[Flutter 问题系列第 41 篇],如果觉得有用的话,欢迎关注专栏. 这个错误相信每一个刚接触 Flutter 的都会碰到,不是什么大问题,只是一个注意事项而已. 一:报错信息 示例代码如下 ...

  5. 【Flutter 组件系列第 2 篇】CircularProgressIndicator (圆形进度条组件)

    这是[Flutter 组件系列第 2 篇],如果觉得有用的话,欢迎关注专栏. 文章目录 一:CircularProgressIndicator 的构造函数 二:基本用法 三:设置进度具体值 四:设置背 ...

  6. 【Flutter 问题系列第 40 篇】如何给 Container 四周设置圆角以及给某一角设置圆角

    这是[Flutter 问题系列第 40 篇],如果觉得有用的话,欢迎关注专栏. Container 组件有一个属性 BoxDecoration ,可以用来修改样式 1.给 Container 四周设置 ...

  7. 【Flutter 问题系列第 46 篇】如何修改 Flutter 项目的包名

    这是[Flutter 问题系列第 46 篇],如果觉得有用的话,欢迎关注专栏. 如果你开发过 Android 原生的项目,修改项目的包名只需要修改 android - app - build.grad ...

  8. 【Flutter 问题系列第 19 篇】安装 apk 包时提示 Install canceled by user 的问题如何解决

    这是[Flutter 问题系列第 19 篇],如果觉得有用的话,欢迎关注专栏. 一:问题描述 公司的测试机中我用的是小米的,用着一直没问题,这不五一想着用自己的 Redmi Note 9 Pro 跑一 ...

  9. 【Flutter 问题系列第 36 篇】The shrinker may have failed to optimize the Java bytecode

    这是[Flutter 问题系列第 36 篇],如果觉得有用的话,欢迎关注专栏. 这个问题今天也是第一次碰到,特此记录下,报错信息如下图所示 错误关键词是 The shrinker may have f ...

最新文章

  1. 核心板焊接之连接器与邮票孔
  2. Android AutoWrapTextView 解决中英文排版问题
  3. 正则介绍_grep上 grep中 grep下
  4. 有了CodinGame,玩着游戏就能学编程
  5. 阿里云MaxCompute,用计算力让数据发声
  6. Win11桌面没有图标怎么解决 Win11桌面没有图标解决教程
  7. java中== 和 .equals()的区别
  8. 演练:使用 SQL Server CE 数据库
  9. 软件设计师考试大纲(2004版)
  10. 本草纲目pdf彩图版下载_本草纲目彩色插图完整版(本草纲目pdf) PDF
  11. 极简主义、人工智能与Readhub的产品哲学
  12. 《斗罗大陆H5》月刃武魂指导和魂环搭配
  13. js将网页保存成图片
  14. 什么才是状态机?什么又是状态?
  15. springboot+jsp人事工资管理系统 java ssm maven
  16. 基于HTML电商项目的设计与实现——html静态网站基于数码类电商购物网站网页设计与实现共计30个页面...
  17. 怎样成为一名优秀的科学家
  18. 光纤之父高锟获英女王封爵
  19. C++中吸取C的二等公民
  20. 什么是epub格式,mac上有什么好用的epub阅读器

热门文章

  1. 阿里云的混合云战略,凭啥扯上Zstack?
  2. coldfusion_ColdFusion中的一周:1月30日至2月5日:一切
  3. 没有项目种类分配到科目 1901090000/KTK
  4. 1.1 win10下wget的安装
  5. 有功,无功,视在功率的关系公式和图
  6. 什么是jdk的java运行工具_下面( )是 JDK 中的 JAVA 运行工具。
  7. Linux 串口终端kermit安装和使用
  8. [0893]《兽医外科学》
  9. kerastensorflow+分布式训练︱实现简易视频内容问答框架
  10. 基于java jsp的健身房会员卡管理系统ssh框架