verwendete ich den Code von der ursprünglichen Quelle - How to resize and draw an image using wxpython?WxPython entfernen Fensterrand
Die Frage ist, wie ohne Rand-Fenster anzuzeigen, mit param-wx.NO_BORDER oder wx.BORDER_NONE?
frame = wx.Frame(None, -1, 'Scaled Image', style= wx.BORDER_NONE)
Wenn ich es benutze das Bild zeigt Schnitt in der linken oberen Ecke, irgendwelche Vorschläge?
So:
def scale_bitmap(bitmap, width, height):
image = wx.ImageFromBitmap(bitmap)
image = image.Scale(width, height, wx.IMAGE_QUALITY_HIGH)
result = wx.BitmapFromImage(image)
return result
class Panel(wx.Panel):
def __init__(self, parent, path):
super(Panel, self).__init__(parent, -1)
bitmap = wx.Bitmap(path)
bitmap = scale_bitmap(bitmap, 100, 100)
control = wx.StaticBitmap(self, -1, bitmap)
# control.SetPosition((10, 10))
if __name__ == '__main__':
app = wx.PySimpleApp()
frame = wx.Frame(None, -1, 'Scaled Image', style= wx.BORDER_NONE)
panel = Panel(frame, 'onewayr.jpg')
frame.SetPosition((100, 100))
frame.Show()
app.MainLoop()
Welche Widgets setzen Sie auf den Rahmen? Was Sie im Bild anzeigen, ist üblich, wenn es ein oder mehrere untergeordnete Widgets gibt und nichts unternommen wird, um deren Größe oder Position zu verwalten. Das Hinzufügen einer minimalen, aber ausführbaren Anwendung zu Ihrer Frage wird sehr hilfreich sein. – RobinDunn
Bitte, sehen Sie sich den aktualisierten Code an! Wenn du löschst (style = wx.BORDER_NONE) wird es korrekt angezeigt! – TheRutubeify