图像显示在PIL到QImage转换后扭曲

时间:2014-12-09 00:12:53

标签: python qt python-2.7 python-imaging-library qgraphicsscene

此代码块用于将从字节数组读取的图像数据保存到Image img

val = bytearray(message.msg)
size = re.split(r',', message.messageSize)
img = Image.new("L", (int(size[0]), int(size[1])), 0)
pix = img.load()
counter = 0
for y in range(int(size[1])):
  for x in range(int(size[0])):
    pix[x, y] = val[counter]
    counter = counter + 1

然后,如果我img.save('test.png', 'PNG')QPixmap('test.png'),它会正常显示图像。但是,如果我使用以下方法,图像将被扭曲。(截图和图像附加到下面的超链接)

self.imgQ = ImageQt(img) # img is PIL Image type
img.save('test.png', 'PNG') # this will be success
pixMap = QtGui.QPixmap.fromImage(self.imgQ)
self.scene1.clear()
self.scene1.addPixmap(pixMap)
self.scene1.update()
self.viewMessage.fitInView(QRectF(0, 0, int(size[0]), int(size[1])), Qt.KeepAspectRatio)

在我实现上面的代码后,image显示为扭曲。但如果我保存图像,图像看起来是正确的。

[更新]即使我使用我保存的PNG,它仍然会扭曲。

im = Image.open('hehe.png')

我上传了PNG文件here

0 个答案:

没有答案