簡體   English   中英

PIL如何使用pyqt4資源文件打開圖像?

[英]can PIL open an image using pyqt4 resource file?

PIL可以使用pyqt4資源文件打開圖像嗎?

from PIL import Image, ImageWin
import res_rc #resource file

image = Image.open(":/images/image.png")
dim = ImageWin.Dib(image)

我收到這個錯誤

IOError: [Errno 22] invalid mode ('rb') or filename :/images/image.png'

要從資源中讀取圖像文件,請使用QFile將其打開,然后將原始數據傳遞給PIL可以使用的類似文件的對象:

from PyQt4.QtCore import QFile
from cStringIO import StringIO
from PIL import Image, ImageWin
import res_rc

stream = QFile(':/images/image.png')
if stream.open(QFile.ReadOnly):
    data = stream.readAll()
    stream.close()
    image = Image.open(StringIO(data))
    dim = ImageWin.Dib(image)

請注意,資源被設計為可以編譯到應用程序中,因此它們嚴格是只讀的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM