我需要DRAW使用画布的自定义标记,到目前为止,我DREW了逆三角形形状。您对如何DRAW标记形状有任何想法吗?
class DrawTriangle extends CustomPainter {
Paint _paint;
DrawTriangle() {
_paint = Paint()
..color = Colors.green
..style = PaintingStyle.fill;
}
@override
void paint(Canvas canvas, Size size) {
var path = Path();
path.moveTo(size.width, size.height);
path.lineTo(size.width + 100, size.height - 100);
path.lineTo(size.width - 100, size.height - 100);
path.close();
canvas.drawPath(path, _paint);
}
@override
bool shouldRepaint(CustomPainter oldDelegate) {
return false;
}
}
Future<Uint8List> getBytesFromCanvas(
int width, int height, Color color) async {
final PictureRecorder pictureRecorder = PictureRecorder();
final Canvas canvas = Canvas(pictureRecorder);
CustomPainter painter = DrawTriangle();
painter.paint(canvas, Size(100.0,100.0));
final img = await pictureRecorder.endRecording().toImage(width, height);
final data = await img.toByteData(format: ImageByteFormat.png);
return data.buffer.asUint8List();
}
以上方法创建了逆三角形,我需要创建一个标记形状。我该如何实现?
为什么要使用自定义绘画工具,也可以将图像用于同一任务。我为您找到了this文章。希望我能帮助您。