generateImage method
Future
generateImage(
- dynamic kCanvasSize
)
Implementation
Future generateImage(kCanvasSize) async {
ByteData imgBytes;
final recorder = ui.PictureRecorder();
final canvas = Canvas(recorder,
Rect.fromPoints(Offset(0.0, 0.0), Offset(kCanvasSize, kCanvasSize)));
final stroke = Paint()
..color = Colors.black
..style = PaintingStyle.stroke;
// canvas.drawRect(Rect.fromLTWH(0.0, 0.0, kCanvasSize, kCanvasSize), stroke);
final paint = Paint()
..color = Colors.black
..style = PaintingStyle.fill;
List<Offset> offsetPoints = [];
for (int i = 0; i < points.length - 1; i++) {
if (points[i] != null && points[i + 1] != null) {
canvas.drawLine(points[i].points, points[i + 1].points,
points[i].paint);
} else if (points[i] != null && points[i + 1] == null) {
offsetPoints.clear();
offsetPoints.add(points[i].points);
offsetPoints.add(Offset(
points[i].points.dx + 0.1, points[i].points.dy + 0.1));
canvas.drawPoints(PointMode.points, offsetPoints, points[i].paint);
}
}
final picture = recorder.endRecording();
final img = await picture.toImage(400, 600);
final pngBytes = await img.toByteData(format: ImageByteFormat.png);
imgBytes = pngBytes!;
return imgBytes;
}