Flutter:将文件(图像)裁剪为圆形

Kar*_*dts 8 dart flutter

我正在尝试在颤动中裁剪文件(图像文件)。这就是我所拥有的:

未裁剪的图像

这就是我想要在裁剪后得到的(带有圆形裁剪的 png)

裁剪图像

重要的是该文件是 png,因此它没有白色边框。

有支持这个的包吗?

Oma*_*att 15

您可以使用BoxDecoration裁剪要在 Widget 上显示的图像。

Container(
  width: 150,
  height: 150,
  decoration: BoxDecoration(
    shape: BoxShape.circle,
    color: Colors.white,
    image: DecorationImage(
      fit: BoxFit.fill,
      image: AssetImage('assets/image.jpeg'),
    ),
  ),
),
Run Code Online (Sandbox Code Playgroud)


jaz*_*bpn 3

这些简单的步骤即可获得所需的结果。

创建一个PictureRecorder

使用PictureRecorder创建画布。

使用canvas.drawCircle()在画布上绘制圆形。

在 PictureRecorder 上调用endRecording()以获取图片。

在图片上调用toImage() 。

将图像转换为ByteData()

仅当您想保存时,才使用 getApplicationDocumentsDirectory()在本地保存图像。

带有源代码的完整答案