Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import wx
- from matplotlib.figure import Figure
- from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg
- import Image
- class Test(wx.Frame):
- def __init__(self):
- img = Image.open('stinkbug.png')
- wx.Frame.__init__(self, None, -1, 'Line save issue',size=img.size)
- self.create_menu()
- self.scroll = wx.ScrolledWindow(self, -1)
- self.scroll.SetScrollbars(5,5,600,400)
- x, y = img.size
- self.figure = Figure(figsize=(x/72.0, y/72.0), dpi=72)
- self.canvas = FigureCanvasWxAgg(self.scroll, -1, self.figure)
- self.canvas.SetBackgroundColour('grey')
- self.axes = self.figure.add_axes([0.0, 0.0, 1.0, 1.0])
- self.axes.set_axis_off()
- self.axes.imshow(img, aspect='auto')
- self.canvas.draw()
- self.background = self.canvas.copy_from_bbox(self.axes.bbox)
- self.canvas.restore_region(self.background)
- line, = self.axes.plot([5, 100], [5, 100], c='#00FF00',
- marker='-', zorder=1,
- animated=True)
- self.axes.draw_artist(line)
- self.canvas.blit(self.axes.bbox)
- def create_menu(self):
- self.menubar = wx.MenuBar()
- menu_file = wx.Menu()
- m_save = menu_file.Append(-1, "&Save", "Save")
- self.Bind(wx.EVT_MENU, self.on_save, m_save)
- menu_file.AppendSeparator()
- m_exit = menu_file.Append(-1, "E&xit\tCtrl-X", "Exit")
- self.Bind(wx.EVT_MENU, self.on_exit, m_exit)
- self.menubar.Append(menu_file, "&File")
- self.SetMenuBar(self.menubar)
- def on_save(self, event):
- self.figure.savefig(r'C:\Documents and Settings\achilds\Desktop\out.png', dpi=self.figure.dpi)
- def on_exit(self, event):
- self.Destroy()
- if __name__ == '__main__':
- app = wx.PySimpleApp()
- frame = Test()
- frame.Show()
- app.MainLoop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement