PIL.Image と PyQt4.QtGui.QImageの相互変換
下手なことをするより、素直に一度バッファに書き込むのが一番安全。
なお、***.save(fp, "BMP")と、"BMP"で読み書きしていますが、
アルファブレンドがある画像の場合は"PNG"で読み書きする必要があります。
ただ、"BMP"の方が速いです。
def pilimage_to_qimage(pilimage): fp = cStringIO.StringIO() pilimage.save(fp, "BMP") qimage = QImage() qimage.loadFromData(fp.getvalue(), "BMP") return qimage def qimage_to_pilimage(qimage): buffer = QBuffer() buffer.open(QIODevice.WriteOnly) qimage.save(buffer, "BMP") fp = cStringIO.StringIO() fp.write(buffer.data()) buffer.close() fp.seek(0) return PIL.Image.open(fp)