剪裁(Clip
)
ClipOval
子组件为正方形时剪裁成内贴圆形;为矩形时,剪裁成内贴椭圆
ClipOval(
child: Image.asset('images/avatar.jpg',width: 100.0,height: 100.0,),
),
ClipOval(
child: Image.asset('images/avatar.jpg',width: 100.0,height: 50.0,),
)
ClipRRect
将子组件剪裁为圆角矩形
//剪裁为圆角矩形
ClipRRect(
borderRadius: BorderRadius.circular(5.0),
child: Image.asset('images/avatar.jpg',width: 100.0,height: 100.0,),
)
ClipRect
默认剪裁掉子组件布局空间之外的绘制内容(溢出部分剪裁)
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Align(
alignment: Alignment.topLeft,
widthFactor: .5,//宽度为原来的一半
child: Image.asset('images/avatar.jpg',width: 80.0,height: 80.0,),
),
const Text('溢出部分剪裁'),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ClipRect(
child: Align(
alignment: Alignment.topLeft,
widthFactor: .5,//宽度为原来的一半
child: Image.asset('images/avatar.jpg',width: 80.0,height: 80.0,),
),
),
const Text('溢出部分剪裁'),
],
)