如何使用wxpython调整大小并绘制图像?

aF.*_*aF. 12 python wxpython resize image draw

我想加载图像,将其大小调整为给定大小,然后将其绘制在面板中的特定位置.

所有这些都使用wxpython.

我该怎么做?

提前致谢!

Fog*_*ird 28

wx.Image有一个Scale方法可以调整大小.其余的是正常的wx编码.

这是一个完整的例子.

import wx

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, 300, 200)
        control = wx.StaticBitmap(self, -1, bitmap)
        control.SetPosition((10, 10))

if __name__ == '__main__':
    app = wx.PySimpleApp()
    frame = wx.Frame(None, -1, 'Scaled Image')
    panel = Panel(frame, 'input.jpg')
    frame.Show()
    app.MainLoop()
Run Code Online (Sandbox Code Playgroud)

  • 在带有 Python 2.7.13 的 wxPython 4.0.1 版中,我收到了两个弃用警告。我用`image = bitmap.ConvertToImage()`代替`image = wx.ImageFromBitmap(bitmap)`和`result = wx.Bitmap(image)`代替`result = wx.BitmapFromImage(image)`。 (2认同)