Flutter:如何使用 CustomPaint 绘制心形(1)

本文介绍了如何在Flutter中使用CustomPaint组件和CustomPainter类绘制心形,详细展示了心形的实现过程,包括填充颜色、边框颜色和边框宽度的设置。并提供了完整的代码示例。
摘要由CSDN通过智能技术生成

1.通过扩展CustomPainter类来实现一个画笔:

class MyPainter extends CustomPainter {

// The color of the heart

final Color bodyColor;

// The color of the border of the heart

final Color borderColor;

// The thickness of the border

final double borderWith;

MyPainter(this.bodyColor, this.borderColor, this.borderWith);

@override

void paint(Canvas canvas, Size size) {

// The body of the heart

final Paint body = Paint();

body

…color = bodyColor

…style = PaintingStyle.fill

…strokeWidth = 0;

// The border of the heart

final Paint border = Paint();

border

…color = borderColor

…style = PaintingStyle.stroke

…strokeCap = StrokeCap.round

…strokeWidth = borderWith;

final double width = size.width;

final double height = size.height;

final Path path = Path();

path.moveTo(0.5 * width, height * 0.4);

path.cubicTo(0.2 * width, height * 0.1, -0.25 * width, height * 0.6,

0.5 * width, height);

path.moveTo(0.5 * width, height * 0.4);

path.cubicTo(0.8 * width, height * 0.1, 1.25 * width, height * 0.6,

0.5 * width, height);

canvas.drawPath(path, body);

canvas.drawPath(path, border);

}

2.使用 CustomPaint 小部件和我们之前创建的画家绘制心形:

// Non-border heart

CustomPaint(

size: const Size(280, 260

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值