2011-12-12 2 views
0

PILを使用して一部のQimagesをサムネイルに変換する際に問題があります。リストウィジェットで使用する 、
画像がどのように見えるはずですPILサムネイルをPYQt4アイコンに変換できません


enter image description here
下の画像をご確認ください: enter image description here

私は水平方向の流れを使用して、項目のテキストがあることに注意してください空のテキスト もう1つ:これは、1つ以上のイメージを置くときにのみ発生します。

何が起こっているのか?そして、なぜイメージがpixlatedされています。..任意のより良い解決策

EDIT:?上記のコードは1秒を必要としながら、

pix = QtGui.QPixmap(path) 
pix = pix.scaled(50,50,QtCore.Qt.KeepAspectRatio) 
icon = QtGui.QIcon(pix) 

を使用しては、(実行に10秒を必要として)非常に問題になります。私はPyQtはとPILを使用していませんでした

おかげ

+0

これまでに解決されましたか?私は同じ問題を抱えている。ありがとう –

答えて

0

QImageReaderを使ってみましたか?

画像BytesIO IOインポート...

QImageの= QtGui.QImage()
FP = BytesIO()
picture.save(FP、 "BMP")から

+0

TOO slow。実行するのに11秒必要(30枚の画像を使用)。私はそれを10倍以上扱うことができるようにする必要があります。 –

1
item = QListWidgetItem(image_path) 

    imageReader = QImageReader() 
    imageReader.setFileName(image_path) 
    size = imageReader.size() 
    size.scale(50, 50, Qt.KeepAspectRatio) 
    imageReader.setScaledSize(size) 
    image = imageReader.read() 

    pix = QPixmap.fromImage(image) 
    icon = QIcon(pix) 
    item.setIcon(icon) 
    self.listWidget.addItem(item) 


qimage.loadFromData(fp.getvalue()、 "BMP")

アイコン...

私はImageQtを試しましたが、パフォーマンスは良くありません。 I参照http://doloopwhile.hatenablog.com/entry/20100305/1267782841
私はpython 3.3を使用しているため、cStringIOはBytesIOに置き換えられます

関連する問題