2013-02-12 51 views
1

我有一个图像在python中使用PIL绘制。PIL绘制图像,然后在wxpython中显示它

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

不知道什么createcM做它是真的很难知道如何帮助你。但不足之处在于,要绘制图像,需要从wx.Image加载数据,然后将其转换为wx.Bitmap,然后使用DeviceContext绘制它。通常,首先绘制一个wx.MemoryDC,当你完成所有的绘图更新后,使用wx.PaintDC或wx.ClientDC绘制它。就拿它给你提供了如何从PIL载入图像一个很好的例子来看看它

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

+0

这是有帮助的欢呼声 – 2013-02-13 13:18:28