2012-07-12 137 views
0

這與wxPython有關。防止wx.StaticBitmap調整大小

我經常將新的wx.Bitmap設置爲wx.StaticBitmap控件。每次我這樣做時,控件都會調整大小以適合圖像大小。

有沒有辦法在設置新的wx.Bitmap時保持wx.StaticBitmap控件的大小?

回答

1

您可以按照我在我的simple image viewer中所做的操作來縮放圖像。

# scale the image, preserving the aspect ratio 
self.PhotoMaxSize = 240 
img = wx.Image(filepath, wx.BITMAP_TYPE_ANY) 
W = img.GetWidth() 
H = img.GetHeight() 
if W > H: 
    NewW = self.PhotoMaxSize 
    NewH = self.PhotoMaxSize * H/W 
else: 
    NewH = self.PhotoMaxSize 
    NewW = self.PhotoMaxSize * W/H 
img = img.Scale(NewW,NewH) 
self.imageCtrl.SetBitmap(wx.BitmapFromImage(img)) 

我認爲這是非常有效的,其中imageCtrl是wx.StaticBitmap

+0

我希望會有辦法來此不編輯圖像,因爲我認爲這是可能的。 – rynd 2012-07-14 03:47:49

+0

這不會編輯圖像。它只能縮小到適合屏幕。所有照片觀衆都是這樣做的。他們要麼縮小它或縮略圖。現在大多數圖像的分辨率都比大多數顯示器高。 – 2012-07-16 13:22:53

+0

我認爲我們在交叉目的下交談。我已經有了小圖片,並且不希望StaticBitmap在設置位圖時更改小部件大小。無論如何,我決定在Panel上做我自己的繪畫,因爲這也消除了閃爍。 – rynd 2012-07-18 03:23:01