createErrorBitmap method
creates a bitmap tile with the given errormessage
Implementation
Future<TileBitmap> createErrorBitmap(int tileSize, dynamic error) async {
var pictureRecorder = ui.PictureRecorder();
var canvas = ui.Canvas(pictureRecorder);
var paint = ui.Paint();
paint.strokeWidth = 1;
paint.color = const ui.Color(0xffaaaaaa);
paint.isAntiAlias = true;
canvas.drawLine(ui.Offset(_margin, _margin),
ui.Offset(tileSize - _margin, _margin), paint);
canvas.drawLine(ui.Offset(_margin, _margin),
ui.Offset(_margin, tileSize - _margin), paint);
canvas.drawLine(ui.Offset(tileSize - _margin, _margin),
ui.Offset(tileSize - _margin, tileSize - _margin), paint);
canvas.drawLine(ui.Offset(_margin, tileSize - _margin),
ui.Offset(tileSize - _margin, tileSize - _margin), paint);
ui.ParagraphBuilder builder = ui.ParagraphBuilder(
ui.ParagraphStyle(fontSize: 10.0, textAlign: TextAlign.center),
)
..pushStyle(ui.TextStyle(color: Colors.black87))
..addText("${error?.toString() ?? "Error"}");
canvas.drawParagraph(
builder.build()
..layout(ui.ParagraphConstraints(width: tileSize - _margin * 2)),
Offset(_margin, _margin));
var pic = pictureRecorder.endRecording();
ui.Image img = await pic.toImage(tileSize, tileSize);
// var byteData = await img.toByteData(format: ui.ImageByteFormat.png);
// var buffer = byteData.buffer.asUint8List();
FlutterTileBitmap tileBitmap = FlutterTileBitmap(img);
return tileBitmap; //Future.value(tileBitmap);
}