PIL绘制图像然后在wxpython中显示它

时间:2013-02-12 11:39:28

标签: python wxpython python-imaging-library

我在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)

这没有显示任何内容。只是想知道我哪里出错了

谢谢

1 个答案:

答案 0 :(得分:1)

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

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

为您提供了如何从PIL加载图像的好例子