Python Как преобразовать файл DST в файл PNG? - PullRequest
0 голосов
/ 21 декабря 2018

Я посмотрел вокруг и прочитал документы о pyembroidery , и я в замешательстве, поэтому я спрашиваю здесь.Существуют ли пакеты, доступные для использования Python для преобразования DST-изображения в PNG-изображение ?

img.py

import pyembroidery
pattern = pyembroidery.read_dst("shamrockin.dst")
pyembroidery.write_png(pattern, 'shamrockin.dst')

Ошибка

pattern = pyembroidery.read_dst ("shamrockin.dst",)
Файл "/ home / panacea / Documents / src / easy tailor / EasyTailor / venv / lib / python3.5 / site-packages / pyembroidery / PyEmbroidery.py ", строка 462, в файле read_dst reader.read (поток, рисунок, настройки) Файл" / home / panacea / Documents / src / easy tailor / EasyTailor / venv / lib / python3.5 / site-packages / pyembroidery / DstReader.py ", строка 86, в файле read dst_read_header (f, out)" / home / panacea / Documents / src / easy tailor / EasyTailor / venv / lib / python3.5 / site-packages / pyembroidery /DstReader.py ", строка 55, в dst_read_header header_string = header.decode ('utf8') UnicodeDecodeError: кодек utf-8 не может декодировать байт 0x89 в позиции 0: недопустимый начальный байт

1 Ответ

0 голосов
/ 21 декабря 2018

Вы записываете файл PNG в 'shamrockin.dst', который перезаписывает исходный файл.При повторном запуске 'shamrockin.dst' теперь является файлом PNG, поэтому его невозможно прочитать с помощью read_dst.(Подсказка в сообщении об ошибке UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte: байт 0x89 всегда является первым байтом файла PNG .)

Восстановите исходный файл DST и измените

pyembroidery.write_png(pattern, 'shamrockin.dst')

до

pyembroidery.write_png(pattern, 'shamrockin.png')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...