2011-09-08 68 views
0

我正在製作一個帶背景圖像的程序,而我正在嘗試的是讓圖像精確地適合圖像。在WxPython中調整一幀圖像的尺寸

很容易引發與圖像的尺寸框架:

wx.Frame.__init__(self, parent, title=title, size=(500, 300)) 

,而是因爲這也佔邊框和窗口的標題,這是不完全準確。無法手動調整像素大小(無論如何都不一致),我該怎麼辦?

編輯:我找到了答案,但看起來我幾個小時都無法自我回答。與此同時...

Backdrop = wx.Bitmap("image.png") 
self.SetClientSize((Backdrop.GetWidth(), Backdrop.GetHeight())) 

回答

0

你可以做到相同的事情與分級機,這樣也會使事情變得更容易,如果你永遠需要包括其他項目的形象一起並控制它們如何與幀比例。

下面是一個框架的基本示例,它調整自身以適應圖像。

import wx 

class Frame(wx.Frame): 
    def __init__(self, parent, id, title, img_path): 
    wx.Frame.__init__(self, parent, id, title, 
         style=wx.DEFAULT_FRAME_STYLE^wx.RESIZE_BORDER) 

    image = wx.StaticBitmap(self, wx.ID_ANY) 
    image.SetBitmap(wx.Bitmap(img_path)) 

    sizer = wx.BoxSizer() 
    sizer.Add(image) 
    self.SetSizerAndFit(sizer) 

    self.Show(True) 

app = wx.App() 
frame = Frame(None, wx.ID_ANY, 'Image', '/path/to/file.png') 
app.MainLoop()