1

我在 python 中使用 PIL 绘制了一个图像。

import Image
import ImageDraw
createCM():
   img = Image.new("RGB", (400,400), "white")
   draw = ImageDraw.Draw(img)

   coords = [(100,70), (220, 310), (200,200)]
   dotSize = 2

   for (x,y) in coords:
       draw.rectangle([x,y,x+dotSize-1,y+dotSize-1], fill="black")

我现在想做的是在我的 wxpython 面板上显示这个。

我是这样开始的

CMchart = createCM(self)
self.vbox = wxBoxSizer(wx.VERTICAL)
self.vbox.Add(CMchart, 1, wx.LEFT | wx.TOP | wx.GROW)
self.vbox.AddSpacer(25)
self.SetSizer(self.vbox)
self.vbox.Fit(self)

这没有显示任何东西。只想知道我哪里错了

谢谢

4

1 回答 1

1

不知道 createcM 是做什么的,很难知道如何为您提供帮助。但它的缺点是要绘制一个图像,你从 wx.Image 加载数据将其转换为 wx.Bitmap,然后使用 DeviceContext 绘制它。通常首先将其绘制为 wx.MemoryDC,当您完成所有绘图更新后,然后使用 wx.PaintDC 或 wx.ClientDC 来绘制它。看看吧

http://wiki.wxpython.org/WorkingWithImages#PIL_.28Python_Imaging_Library.29

它为您提供了如何从 PIL 加载图像的一个很好的示例

于 2013-02-12T15:53:28.380 回答