Моя программа открывает известные Lena, затем преобразует его в изображение PIL, а затем преобразует в QPixmap.
import sys
import cStringIO
from PyQt4 import QtGui, QtCore
from PIL import Image
class ImageLabel(QtGui.QLabel):
def __init__(self, parent=None):
QtGui.QLabel.__init__(self, parent)
self.setGeometry(300, 300, 300, 350)
self.setWindowTitle('Window')
im = Image.open('Test_Images/Lena.bmp')
self.bufor=QtCore.QBuffer()
self.bufor.open(QtCore.QIODevice.ReadWrite)
im.save(self.bufor, "PNG")
strio = cStringIO.StringIO()
strio.write(self.bufor.data())
self.bufor.close()
strio.seek(0)
self.pil_image = Image.open(strio)
self.pil_image.save('pil_image.png', 'PNG')
data = self.pil_image.tostring()
image = QtGui.QImage(data, self.pil_image.size[0], self.pil_image.size[1], QtGui.QImage.Format_Indexed8)
pix = QtGui.QPixmap.fromImage(image)
self.setPixmap(pix)
app = QtGui.QApplication(sys.argv)
imageLabel = ImageLabel()
imageLabel.show()
Но у меня получается наклон и размножение image Лена после трансформации
Что странно: программы корректно работают с некоторыми похожими (оттенки серого, 8BPP) изображениями. Что может быть не так?