以下是我们如何在wxPython框架中显示图像。
import wx
class Viewer(wx.App):
def __init__(self, redirect=False, filename=None):
wx.App.__init__(self, redirect, filename)
self.frame = wx.Frame(None, title='Viewer')
self.panel = wx.Panel(self.frame)
self.imageCtrl = wx.StaticBitmap(self.panel, wx.ID_ANY, wx.BitmapFromImage(wx.EmptyImage(800,600)))
self.mainSizer = wx.BoxSizer(wx.VERTICAL)
self.mainSizer.Add(self.imageCtrl, 0, wx.ALL, 5)
self.onView('0.png')
self.panel.Layout()
self.frame.Show()
def onView(self, filename):
img = wx.Image(filename, wx.BITMAP_TYPE_ANY)
self.imageCtrl.SetBitmap(wx.BitmapFromImage(img))
self.panel.Refresh()
self.mainSizer.Fit(self.frame)
Viewer().MainLoop()
如果测试图像具有大尺寸,例如912 x 3616(这是我使用的0.png),我想设置一个垂直偏移,即框架的上角不应该是(0,0)图像但是(0,500)即500px垂直偏移。
如何使用wxPython设置图像的垂直偏移量?
答案 0 :(得分:0)
如果你真的想要截断图像,最直接的做法就是这样做,即使用wxImage::GetSubImage()
创建一个新图像,区域从(0,500)开始。
更常见的情况是,您可以使用滚动窗口然后最初可以垂直滚动500,但仍允许用户滚动回原点。
也可以使用没有滚动条的滚动窗口,但这看起来毫无意义。