Я хочу просмотреть исходный файл изображения.
Но все изображения преобразуются в пятнистое, поврежденное изображение.
Кажется, что предыдущее изображение не равно заднему изображению.
Пожалуйста, измените размер изображения в конструкторе QImage на размер вашего произвольного образца изображения.
Если я извиняюсь за этот код, я поймал испорченное изображение. Почему?
Я пытался изменить Format.Format_ARGB32_Premultiplied на различные шаблоны.
Но все паттерны шли не очень хорошо.
from PIL import Image
import numpy as np
from PySide import QtCore
from PySide import QtGui
import sys
#the original file
filename = 'Any_Data.png'
im = Image.open(filename)
data = np.array(im)
file_ = QtCore.QFile("test_file.img")
file_.open(QtCore.QIODevice.WriteOnly)
qdatastream = QtCore.QDataStream(file_)
bytedatas = QtCore.QByteArray(data.tobytes())
#print(bytedatas)
#print(len(data.tobytes()),type(data))
qdatastream << bytedatas
output_file_ = QtCore.QFile("test_file.img")
output_file_.open(QtCore.QIODevice.ReadOnly)
qdatastream = QtCore.QDataStream(output_file_)
#the behind file
bytedata = QtCore.QByteArray()
qdatastream >> bytedata
Image = QtGui.QImage(220,133,QtGui.QImage.Format.Format_ARGB32_Premultiplied)
Image.fromData(bytedata)
def main():
try:
QtGui.QApplication([])
except Exception as e:
print(e)
widget = QtGui.QLabel()
pixmap = QtGui.QPixmap()
pixmap.convertFromImage(Image)
widget.setPixmap(pixmap)
widget.show()
sys.exit(QtGui.QApplication.exec_())
if __name__ == "__main__":
main()