#flutter #pos
Вопрос:
Вот мой код ниже.
Future<List<int>> getImage() async {
List<int> bytes = [];
CapabilityProfile profile = await CapabilityProfile.load();
final generator = Generator(PaperSize.mm80, profile);
final ByteData data = await rootBundle.load('assets/logo.png');
final buffer = data.buffer;
final image = base64.encode(Uint8List.view(buffer));
bytes = generator.image(image);
return bytes;
}
Около
bytes = generator.image(image);
ошибка гласила, что
Ошибка: Тип аргумента «Строка» не может быть присвоен типу параметра «Изображение».
Комментарии:
1. base64-это строка
2. @flaxon, есть идеи, как мне это исправить?
Ответ №1:
из документов
вам нужно передать байты, а не base64
похоже, ты скучаешь decodeImage()
Future<List<int>> getImage() async {
List<int> bytes = [];
CapabilityProfile profile = await CapabilityProfile.load();
final generator = Generator(PaperSize.mm80, profile);
final ByteData data = await rootBundle.load('assets/logo.png');
final Uint8List buffer = data.buffer.asUint8List();
final Image image = decodeImage(buffer);
bytes = generator.image(image);
return bytes;
}
Комментарии:
1. конечные байты Uint8List= data.buffer.asUint8List(); , Ошибка: «байты» уже объявлены в этой области.
2. хорошо, используйте другое имя переменной. я переоделся в
buffer
3. я скучал по тебе
List<int> bytes = [];
, но я думаю, что это не так4. 1 еще одна проблема-это окончательное изображение изображения, имя «Изображение» определено в пакете библиотек:flutter/src/виджеты/image.dart » и » пакет:изображение/src/изображение.dart (через пакет:изображение/изображение.dart)».
5. Добавить
import 'package:image/image.dart'; on top