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で画像に垂直オフセットを設定するには?