Ошибка при печати наших изображений при получении через POS-систему

#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