成都网站建设设计

将想法与焦点和您一起共享

flutter图片识别的简单介绍

详解flutter中本地资源图片的使用

一. flutter中我们想加载本地图片,需要两步:

成都创新互联-专业网站定制、快速模板网站建设、高性价比五龙口网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式五龙口网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖五龙口地区。费用合理售后完善,十余年实体公司更值得信赖。

二. flutter项目中本地图片加载的原理

在加载图片时,系统自动会根据屏幕分辨率优先选择到符合自己分配率的文件夹(2.0x或者3.0x或者4.0x)下去取相对应的图片,如果当前文件夹下没有,则会到低一倍的文件夹下去,如果还没有,则继续向更低一倍去取。(比如:iOS 5.5英寸及以上屏幕会优先选择去3.0x下去取图片,如果3.0x不存在或者3.0x文件夹下没有,则去2.0x下取;如果2.0x不存在或者2.0x下没有,则去1.0x下取;1.0x下再没有,则在images文件下取)。

Flutter(6):基础组件之Image

Image是一个用于展示图片的组件。支持 JPEG、PNG、GIF、Animated GIF、WebP、Animated WebP、BMP 和 WBMP 等格式。

Image.asset - 用于从资源目录的显示图片,需要在 pubspec.yaml 文件中声明。

Image.network - 用于从网络上显示图片。

Image.file - 用于从文件里显示图片。

Image.memory - 用于从内存里(Uint8List)显示图片。

alignment → AlignmentGeometry - 图像边界内对齐图像。

centerSlice → Rect - 九片图像的中心切片。

color → Color - 该颜色与每个图像像素混合colorBlendMode。

colorBlendMode → BlendMode - 用于 color 与此图像结合使用。

fit → BoxFit - 图像在布局中分配的空间。

gaplessPlayback → bool - 当图像提供者发生变化时,是继续显示旧图像(true)还是暂时不显示(false)。

image → ImageProvider - 要显示的图像。

matchTextDirection → bool - 是否在图像的方向上绘制图像 TextDirection。

repeat → ImageRepeat - 未充分容器时,是否重复图片。

height → double - 图像的高度。

width → double - 图像的宽度。

加载资源图片需要将图片资源放入工程中,例如:新建images文件夹,将图片放在该文件夹下,图片适配则是使用ios的方式1X,2X,3X:

然后在pubspec.yaml中配置assets:

加载资源/网络/本地文件图片/内存图片:

占位图加载图片:

圆形图片:1.裁剪实现 2.CircleAvatar实现 3.Container边框实现

圆角图片:1.裁剪实现 2.Container边框实现

BoxFit.contain 全图居中显示但不充满,显示原比例

BoxFit.cover 图片可能拉伸,也可能裁剪,但是充满容器

BoxFit.fill 全图显示且填充满,图片可能会拉伸

BoxFit.fitHeight 图片可能拉伸,可能裁剪,高度充满

BoxFit.fitWidth 图片可能拉伸,可能裁剪,宽度充满

BoxFit.scaleDown 效果和contain差不多, 但是只能缩小图片,不能放大图片

下一节学习基础组件之Text

Flutter_图片分辨率适配及批量拓展使用

flutter开发中,图片的引用是必不可少的,所以为了提高效率和精准度,我们需要对不同分辨率的手机使用相对应的切图图片,本章介绍如何进行 图片分辨率适配 和 图片批量拓展处理 。

flutter中会首先根据系统的devicePixelRatio(每一个逻辑像素包含多少个原始像素,可以通过MediaQueryData.devicePixelRatio来得到)来找对应倍数的文件夹下的图片,如果没有对应倍数,找最接近的。

所以在flutter项目中,我们需要构建对应的倍数像素文件夹

之后再pubspec.yaml中,配置assets文件后就可以使用了(如使用"assets/images/jay.png",会自动适配该像素下最接近的jay图片)。

使用flutter-img-sync插件批量化处理,具体操作如下

目前还不能处理gif、webp等格式的图片,而且如果和上边介绍的不同像素比适配方案一起使用的话,由于进行了精准定位,所以指定图片后就不能进行像素适配,这是目前还存在的较大问题,所以目前两者方案只能暂时取一使用。


当前名称:flutter图片识别的简单介绍
分享路径:http://chengdu.cdxwcx.cn/article/dssjsoi.html