Flutter中提供了一些剪裁函数,用于对组件进行剪裁。

剪裁Widget

默认行为

ClipOval

子组件为正方形时剪裁成内贴圆形;为矩形时,剪裁成内贴椭圆

ClipRRect

将子组件剪裁为圆角矩形

ClipRect

默认剪裁掉子组件布局空间之外的绘制内容(溢出部分剪裁)

ClipPath

按照自定义的路径剪裁

ClipOval

子组件为正方形时(记得 BoxFit.cover加上 不然没效果)

 ClipOval(child:Image.asset("images/logo.jpg",
width: 200,height: 200, fit: BoxFit.cover,),)

子组件为矩形时

 ClipOval(child:Image.asset("images/logo.jpg",width: 300,height: 200,
fit: BoxFit.cover,),)

ClipRRect 将子组件剪裁为圆角矩形

一、四个角同一大小圆角

 ClipRRect(borderRadius:BorderRadius.circular(10),child:Image.
asset("images/logo.jpg",width: 300,height: 200,fit: BoxFit.cover,))

二、指定角设置圆角(比如左上角和右上角设置10度圆角)

  ClipRRect(borderRadius:BorderRadius.
only(topLeft: Radius.circular(10),topRight: Radius.circular(10)),
child:Image.asset("images/logo.jpg",width: 300,height: 200,fit: BoxFit.cover,))

ClipRect

ClipRect组件使用矩形裁剪子组件,通常情况下,ClipRect作用于CustomPaint 、 CustomSingleChildLayout 、 CustomMultiChildLayout 、 Align 、 Center 、 OverflowBox 、 SizedOverflowBox组件,例如ClipRect作用于Align,可以仅显示上半部分,代码如下:

高度为正常的情况,没什么变化

            ClipRect(child: Align(alignment: Alignment.topLeft,heightFactor: 1,child: Image.asset("images/logo.jpg",)),)

高度为一半的情况,修改参数 heightFactor: 0.5,

ClipPath 按照自定义的路径剪裁

使用CustomClipper 来自定义裁剪内容,比如裁剪成三角形

class __MyPathClipper extends CustomClipper<Path> {@overridePath getClip(Size size) {var path = Path();path.moveTo(size.width / 2, 0);//从图片的中间上面坐标path.lineTo(0, size.height);//图片的左下角坐标path.lineTo(size.width, size.height);//图片的右下角左边path.close();return path;}@overridebool shouldReclip(CustomClipper<Path> oldClipper) {return false;}
}

使用的地方添加

 ClipPath(clipper: __MyPathClipper(),child: Image.asset("images/logo.jpg",),)

裁剪后:裁剪前:

系统自带的裁剪也看一个

 ClipPath.shape(shape: CircleBorder(),child: Image.asset("images/logo.jpg",),)

shape参数是ShapeBorder类型
RoundedRectangleBorder:圆角矩形

ContinuousRectangleBorder:直线和圆角平滑连续的过渡,和RoundedRectangleBorder相比,圆角效果会小一些

StadiumBorder:类似于足球场的形状,两端半圆

BeveledRectangleBorder:斜角矩形

CircleBorder:圆形

附上官网地址:5.5 剪裁(Clip) | 《Flutter实战·第二版》

flutter-剪裁(Clip)相关推荐

  1. Flutter 学习

    Flutter 学习 参照:https://book.flutterchina.club/ 参照:https://flutter.cn/docs/development/platform-integr ...

  2. css环形进度条clip,使用CSS clip 属性实现音频播放圆环进度条

    这是效果 突然有需求要做一个圆环的音频播放进度条(上图效果),自己琢磨尝试了半天,也没有实现.最后度娘一下,才知道css还有一个clip属性,完美实现需求.分享一下,说不定能帮其它小伙伴.至于有没有用 ...

  3. Flutter 1.22 正式发布

    支持iOS 14和Android 11,新的i18n和l10n支持,可用于生产的Google Maps和WebView插件,新的App Size工具等等! 作者:Chris Sells 原文:http ...

  4. echarts symbol 回调函数_【OpenLayer 实战】实现仿Echarts风格的动态迁徙图/航班图

    使用的数据还是来自echarts,模拟了全国各地到湖南重点景区的客流情况. 分析 要实现动态迁徙图的效果,主要需解决两个问题     曲线的绘制.因为给出的数据只有起点和终点两个点位,所以想要绘制曲线 ...

  5. 高性能Web动画和渲染原理系列(5)合成层的生成条件和陷阱

    [摘要] 关于合成层的知识和动画编写的建议 示例代码托管在:http://www.github.com/dashnowords/blogs 博客园地址:<大史住在大前端>原创博文目录 一. ...

  6. control层alert弹出框乱码_【ArcGIS for JS】动态图层的属性查询(11)

    在真实需求中,我们不仅仅是将shp在地图中显示那么简单,我们往往要查询该图层的属性信息,我们在前面代码的基础上添加上属性查询. 1.1方法1(通过click直接获取) 1.1.1代码实现 给要素图层添 ...

  7. 服务器前端机中转机制,『中高级前端面试』之终极知识点

    作者:陈大鱼头 Chrome浏览器进程 在资源不足的设备上,将服务合并到浏览器进程中 浏览器主进程 负责浏览器界面显示 各个页面的管理,创建以及销毁 将渲染进程的结果绘制到用户界面上 网络资源管理 G ...

  8. Tikz作图教程:说说图形颜色填充那些事儿

    初学Tikz 作图的朋友也许觉得给图形填充颜色很费事儿,尤其是那些不规则图形的颜色填充. 事实上,只要你掌握一个基本思想和三个填充技巧,图形颜色填充就会变得易如反掌!下面我们详细介绍这些方法,学会本文 ...

  9. 强化学习待解决问题和主流Trick整理

    文章目录 一.四大待解决问题 二.DRL主流Trick 主流Trick应用场景 2.1 序贯决策导致的非独立同分布问题 2.2 Policy随Target震荡而震荡问题 2.3 Target过估计从而 ...

  10. houdini-houdini记录

    title: houdini-houdini记录 categories: Houdini tags: [art, houdini, procedural, 记录] date: 2019-05-15 0 ...

最新文章

  1. 项目创建venv、_都2020年了,居然还有人没有在数据科学项目中使用Docker?
  2. MapReduce TopK统计加排序
  3. Boost:无序的bimap双图的测试程序
  4. React开发(114):不建议用setstate回调
  5. Android 频道管理,可拖动item排列,删除,添加
  6. dataframe 如何选中某列的一行_PySpark和SparkSQL基础:如何利用Python编程执行Spark(附代码)
  7. 谈谈Objective-C的警告 (转)
  8. 这份风控最重要的核心报表一定要学会
  9. 说服力:从场景化出发的用户价值
  10. mysql xa 异常_面试官问我:MySQL中的XA事务崩溃了如何恢复??
  11. 《善用佳软:高效能人士的软件应用之道》一2.6 小工具之计算器
  12. vue 函数(二):callback回调函数
  13. 平方根python_python如何求平方根
  14. webrtc中的码率控制
  15. c语言定义浮点变量i和j,2012年计算机等级考试二级C语言基础教程:数据类型、变量和运算符...
  16. sql 修改时间正价 2天_“熬夜3天,修改17遍,我终于写出了1篇稿费2万的稿子”...
  17. 左手读红楼梦,右手写 BUG,闲快活
  18. JavaScript CSS jQuery 网页音乐播放器
  19. 短视频矩阵系统源码。抖音矩阵系统源码。抖音SEO源码。
  20. 微信防红不死码跳转微信防封源码

热门文章

  1. 【小白笔记】——AD铺铜设置铜与焊盘、通孔的全连接
  2. Makefile实现子目录编译
  3. 真正懂得珍惜(观《士兵突击》数月之后)
  4. ElasticSearch在数据量很大的情况下如何提高查询效率
  5. vue高德、谷歌地图动态加载
  6. 显示农历的html代码,很全的显示阴历(农历)日期的js代码
  7. Greenplum非并行数据迁移--pg_dump
  8. Cesium天际线分析
  9. fw_printenv 配置文件 nand flash
  10. 迈通中医定向透药治疗仪使用注意事项