'How to change Canvas background in Flutter
Why background is black how to solve my problem....
Future<Uint8List> _generateImageFromString(String text, TextAlign align,) async {
ui.PictureRecorder recorder = ui.PictureRecorder();
final canvas = Canvas(
recorder,
Rect.fromCenter(
center: Offset(0, 0),
width: 550,
height: 400, // cheated value, will will clip it later...
)
);
final span = TextSpan(
style: const TextStyle(
backgroundColor: Colors.white,
color: Colors.black,
fontSize: 20,
fontWeight: ui.FontWeight.bold,
),
text: text,
);
final tp = TextPainter(
text: span,
maxLines: 3,
textAlign: align,
textDirection: TextDirection.ltr
);
tp.layout(minWidth: 550, maxWidth: 550);
tp.paint(canvas, const Offset(0.0, 0.0));
var picture = recorder.endRecording();
final pngBytes = await picture.toImage(
tp.size.width.toInt(),
tp.size.height.toInt() - 2, // decrease padding
);
final byteData = await pngBytes.toByteData(format: ui.ImageByteFormat.png);
return byteData!.buffer.asUint8List();
}
Installed Pluging for printing: blue_thermal_printer: ^1.2.0
How to solve my problem?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
