<p>另一种选择是使用PIL库。</p>
<pre><code>>>> import numpy as np
>>> import Image
>>> im = Image.fromarray(np.random.randint(0,256,size=(100,100,3)).astype(np.uint8))
>>> im.show()
</code></pre>
<p>您可以在<a href="http://www.pyside.org/docs/pyside/PySide/QtGui/QImage.html">http://www.pyside.org/docs/pyside/PySide/QtGui/QImage.html</a>查看QPixmap构造函数。</p>
<p>看起来您应该能够在构造函数中直接使用numpy数组:</p>
<blockquote>
<p>class PySide.QtGui.QImage(data, width, height, format)</p>
</blockquote>
<p>其中format参数是以下参数之一:<a href="http://www.pyside.org/docs/pyside/PySide/QtGui/QImage.html#PySide.QtGui.PySide.QtGui.QImage.Format">http://www.pyside.org/docs/pyside/PySide/QtGui/QImage.html#PySide.QtGui.PySide.QtGui.QImage.Format</a>。</p>
<p>例如,你可以这样做:</p>
<pre><code>>>> a = np.random.randint(0,256,size=(100,100,3)).astype(np.uint32)
>>> b = (255 << 24 | a[:,:,0] << 16 | a[:,:,1] << 8 | a[:,:,2]).flatten() # pack RGB values
>>> im = PySide.QtGui.QImage(b, 100, 100, PySide.QtGui.QImage.Format_RGB32)
</code></pre>
<p>我没有安装PySide所以我没有测试过。很有可能它不会按原样工作,但它可能会指引你朝着正确的方向前进。</p>