У меня есть этот код PySide2, который работает в Linux с Python 2.7
from PySide2.QtCore import QBuffer, QByteArray
...
image = self.clipboard.image()
ba = QByteArray()
buffer = QBuffer(ba)
buffer.open(QIODevice.WriteOnly)
image.save(buffer, "PNG")
return bytes(buffer.data())
Но в Windows с Python 3.6 он не работает здесь:
File "C:\....foo.py", line 93, in image_to_png
return bytes(buffer.data())
Исключение:
TypeError: 'bytes' object cannot be interpreted as an integer
Какой самый простой способ получить PNG в байтах?
Я бы хотел избежать создания временного файла, поскольку он не нужен для этого контекста.
(я использую PySide2, но я мог бы переключиться на другую привязку python-QT, если вы считаете, что это имеет больше смысла. Пожалуйста, оставьте комментарий, если вы так думаете)