当前位置: 首页 > news >正文

flutter获取本地图片高度、宽度

  /*获取本地图片宽度* */getLocalImageWidth(String path){int width;Completer<int> completer = new Completer<int>();Image image = Image.file(File.fromUri(Uri.parse(path)));// 预先获取图片信息image.image.resolve(new ImageConfiguration()).addListener(new ImageStreamListener((ImageInfo info, bool _) {width = info.image.width;print('height===$width');completer.complete(width);}));return completer.future;}/*获取本地图片高度* */getLocalImageHeight(String path){int height;Completer<int> completer = new Completer<int>();Image image = Image.file(File.fromUri(Uri.parse(path)));// 预先获取图片信息image.image.resolve(new ImageConfiguration()).addListener(new ImageStreamListener((ImageInfo info, bool _) {height = info.image.height;print('height===$height');completer.complete(height);}));return completer.future;}
//使用
int originalWidth,originalHeight;
originalWidth =  await Utils().getLocalImageWidth(imagePath);
originalHeight = await Utils().getLocalImageHeight(imagePath);///======
//加载file类型的图片
return Image.file(imageFile,width: 200.w,height: 200.w,fit: BoxFit.fill,frameBuilder: (context, child, frame, wasSynchronouslyLoaded){//加载完成,显示图片if(wasSynchronouslyLoaded){return child;}//加载中,添加透明渐变return AnimatedOpacity(child: child,opacity: frame == null ? 0 : 1,duration: const Duration(seconds: 4),curve: Curves.easeOut,);}),//加载Uint8List类型的图片
return Image.memory(imageUint8List);
//如果得到的图片是base64加密的字符串,将字符串反编译出Uint8List数组后再加载
Image.memory(Base64Decoder().convert(slideImageBase64)));

相关文章:

  • 如何通过Arthas热更新正在运行中的java代码
  • go语言`json:“-“`标签的含义
  • Vue3-34-路由-路由配置参数 props
  • vue对日期的年、月、日进行增加,转换成指定格式的字符串(yyyy-MM-dd)
  • 2023年“中银杯”安徽省网络安全B模块(部分解析)
  • vivado 指定相对位置
  • 每天五分钟计算机视觉:揭秘迁移学习
  • 原生JS做别踩白块游戏
  • 算法系统学习(持续更新)
  • 栈实现后缀表达式的计算
  • 交换机02_共享式交换式
  • 了解并使用django-rest-framework-jwt
  • 简述Redis备份策略以及对应的实现机制
  • CMake入门教程【基础篇】HelloCMake
  • 数模学习day06-主成分分析
  • 网络传输文件的问题
  • [译]Python中的类属性与实例属性的区别
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • Effective Java 笔记(一)
  • iOS | NSProxy
  • js学习笔记
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Python十分钟制作属于你自己的个性logo
  • React as a UI Runtime(五、列表)
  • select2 取值 遍历 设置默认值
  • Spring Cloud中负载均衡器概览
  • Vue2.0 实现互斥
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 初识 webpack
  • 初识MongoDB分片
  • 讲清楚之javascript作用域
  • 通过npm或yarn自动生成vue组件
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ​Linux·i2c驱动架构​
  • "无招胜有招"nbsp;史上最全的互…
  • #QT项目实战(天气预报)
  • (2)STM32单片机上位机
  • (ibm)Java 语言的 XPath API
  • (Java)【深基9.例1】选举学生会
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (九)c52学习之旅-定时器
  • (三)docker:Dockerfile构建容器运行jar包
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)我也是一只IT小小鸟
  • ***测试-HTTP方法
  • *p++,*(p++),*++p,(*p)++区别?
  • .NET Core 通过 Ef Core 操作 Mysql
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .net core使用RPC方式进行高效的HTTP服务访问