flutter3.0学习笔记

剪裁Clip

Preview
  • 剪裁(Clip)
  • ClipOval子组件为正方形时剪裁成内贴圆形;为矩形时,剪裁成内贴椭圆
  • ClipRRect 将子组件剪裁为圆角矩形
  • ClipRect默认剪裁掉子组件布局空间之外的绘制内容(溢出部分剪裁)

剪裁(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,),
  )

image.png

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

 //剪裁为圆角矩形
  ClipRRect(
    borderRadius: BorderRadius.circular(5.0),
    child: Image.asset('images/avatar.jpg',width: 100.0,height: 100.0,),
  )

image.png

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('溢出部分剪裁'),
    ],
  )

image.png