addQrCodeAsImage method
QR als Bild. raster true → GS v 0 (imageRaster), false → ESC * (image).
Welcher Befehl funktioniert, hängt vom Drucker ab — daher umschaltbar.
Der QR wird direkt aus der Modul-Matrix gerastert: jedes Modul wird auf ein
ganzzahliges scale×scale-Quadrat abgebildet (rein schwarz/weiss, kein
Anti-Aliasing). Dadurch sind die Kanten scharf per Konstruktion und das
Bild ist deutlich kleiner/schneller ueber Bluetooth als der fruehere
QrPainter→PNG-Roundtrip.
Implementation
Future<void> addQrCodeAsImage(String data, {int size = 280, bool raster = true}) async {
try {
final RasterImage img = renderQrMatrix(data, size: size);
bytes.add(Uint8List.fromList(
raster ? generator.imageRaster(img) : generator.image(img),
));
myPosPaper.addImage(await encodePng(img));
} catch (e) {
if (kDebugMode) print('Error in addQrCodeAsImage: $e');
}
}