3

私のアプリは画像をロードし、その上にテキストを印刷します。次に、印刷した画像をボタンのアイコンのラベルとして使用したいと思います。

問題は、「画像」をQIconまたはPyQtクラスに渡すことができないことです。ファイルを生の文字列としてQtのパーサーに送信し、そこから画像を再構築することを推奨する方法をオンラインで見つけました。

画像が青だったことを除けば、それは本当にうまくいきました。画像処理について少し読んだ後、それを修正するには、すべてのビットをシフトして反転する必要があることを学びました。

        data = im.convert('RGBA').tostring()
    data = ''.join([''.join(i) for i in zip(data[2::4],data[1::4],data[0::4],data[3::4])])
    qim = QtGui.QImage(data, im.size[0], im.size[1],
                    QtGui.QImage.Format_ARGB32)
    pix = QtGui.QPixmap.fromImage(qim)

そこにある私の小さなjoin/zipマジックはやや場違いのようで、なぜそれが必要なのかわかりません。これを行うためのより良い方法はありますか?RGBAを吐き出し、それをARGBとして解析することには明らかな問題があることは知っていますが、PILとPyQtのドキュメントを調べても役に立ちませんでした。

4

1 に答える 1

6

PIL(1.6 以降) には モジュールがあり、少なくとも についてはをImageQtに簡単に変換できます。PySide でも動作する必要がある場合は、ソースを簡単に変更する必要があります。ImageQImagePyQt4

于 2012-11-14T17:39:25.273 に答える