【发布时间】:2014-01-21 20:29:32
【问题描述】:
我的电脑允许的最大分辨率为 1366x768。我有大量 1024x768 的图像。我在 wxpython 中提出的所有内容,图像总是被屏幕底部截断。如何调整图像大小以使其完全适合屏幕...显然宽度不是问题,只是图像的高度会造成问题。到创建 gui 的框架时,我丢失了大约 1/4 的图像。
【问题讨论】:
标签: wxpython
我的电脑允许的最大分辨率为 1366x768。我有大量 1024x768 的图像。我在 wxpython 中提出的所有内容,图像总是被屏幕底部截断。如何调整图像大小以使其完全适合屏幕...显然宽度不是问题,只是图像的高度会造成问题。到创建 gui 的框架时,我丢失了大约 1/4 的图像。
【问题讨论】:
标签: wxpython
我通常使用一些缩放代码,像这样:
img = wx.Image(filepath, wx.BITMAP_TYPE_ANY)
# scale the image, preserving the aspect ratio
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)
然后,一旦我对它进行了适当的缩放,我就将它添加到 wx.StaticBitmap:
self.imageCtrl = wx.StaticBitmap(self.panel, wx.ID_ANY,
wx.BitmapFromImage(img))
self.imageCtrl.SetBitmap(wx.BitmapFromImage(img))
尝试将 self.PhotoMaxSize 设置为各种数量,直到找到最佳尺寸,或者您可以使用 wx.GetDisplaySize() 并根据该值推导出高度。
您可能还会发现本教程很有帮助:
【讨论】: