wxpython GUI界面顯示jpg圖片

pykde 9年前發布 | 3K 次閱讀 Python

# show a jpeg (.jpg) image using wxPython, newer coding style

two different ways to load and display are given

tested with Python24 and wxPython25 vegaseat 24jul2005

import wx import cStringIO

class Panel1(wx.Panel): """ class Panel1 creates a panel with an image on it, inherits wx.Panel """ def init(self, parent, id):

# create the panel
wx.Panel.__init__(self, parent, id)
try:
    # pick a .jpg file you have in the working folder
    imageFile = 'Moo.jpg'
    data = open(imageFile, "rb").read()
    # convert to a data stream
    stream = cStringIO.StringIO(data)
    # convert to a bitmap
    bmp = wx.BitmapFromImage( wx.ImageFromStream( stream ))
    # show the bitmap, (5, 5) are upper left corner coordinates
    wx.StaticBitmap(self, -1, bmp, (5, 5))

    # alternate (simpler) way to load and display a jpg image from a file
    # actually you can load .jpg  .png  .bmp  or .gif files
    jpg1 = wx.Image(imageFile, wx.BITMAP_TYPE_ANY).ConvertToBitmap()
    # bitmap upper left corner is in the position tuple (x, y) = (5, 5)
    wx.StaticBitmap(self, -1, jpg1, (10 + jpg1.GetWidth(), 5), (jpg1.GetWidth(), jpg1.GetHeight()))
except IOError:
    print "Image file %s not found" % imageFile
    raise SystemExit


app = wx.PySimpleApp()

create a window/frame, no parent, -1 is default ID

increase the size of the frame for larger images

frame1 = wx.Frame(None, -1, "An image on a panel", size = (400, 300))

call the derived class

Panel1(frame1,-1) frame1.Show(1) app.MainLoop()</pre>

 本文由用戶 pykde 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!