flutter - Flutter customPaint 状态
问题描述
我试图允许用户使用自定义油漆在画布上绘图。使用下面的代码
List<List<Offset>> allPoints = [];
@override
void paint(Canvas canvas, Size size) {
Paint paint = Paint()
..color = Colors.blue
..strokeCap = StrokeCap.round
..strokeWidth = 10.0;
for (int y = 0; y <= points.length - 1; y++) {
for (int i = 0; i < points[y].length - 1; i++) {
if (points[y][i] != null && points[y][i + 1] != null) {
canvas.drawLine(points[y][i], points[y][i + 1], paint);
}
}
}
}
这工作正常,除了当要绘制的点增加时,应用程序变得非常缓慢和滞后。我试图通过只绘制最近的点来纠正这个问题,同时保持已经在画布上绘制的旧点。
但是,它只绘制最近的点并删除(或替换)旧的点。
我希望能够绘制一条线,将其保存并在同一画布上绘制另一条线,而无需替换(删除)旧线。虽然仍然有旧的和新的。
解决方案
推荐阅读
- c# - 当我按 Alt 2 次时,我需要粘贴一些东西。有没有办法以 C# 形式做到这一点?
- vb.net - 您可以将值强制转换为 Date 类型吗?
- java - 从 Firebase 实时数据库中删除用户数据
- python - 搜索包含特殊字符的 Pandas 数据框?
- python - 字典列表到熊猫数据框
- apache-spark - 火花 Sql 查询
- c# - 向 MS Teams 发送主动消息
- python - 如何将变量“display_lines”的内容放入列表中
- python - 如何在 python 中添加表格标题,最好使用 pandas
- c# - 使用路由配置在多租户环境中进行 ASP.NET Core Health 检查