Hi,

Anyone can provide some info on what "agg.buffer_rgba" returns and maybe 
even some suggestion on how to resolve this issue in the wxagg backend.

Thanks
Werner

P.S.
The archive on Sourceforge for this list stops in June 2012, noticed 
this as I wanted to check if there are answers I didn't get for some reason.
http://sourceforge.net/mailarchive/forum.php?forum_name=matplotlib-users

On 20/04/2013 08:58, Werner F. Bruhin wrote:
> Hi,
>
> I am trying to get matplotlib 1.2.0 to work with wxPython Phoenix - will
> provide a patch when it is working.
>
> Made the changes to backend_wx* for things like EmptyImage/EmptyBitmap
> and Toolbar but I am stuck on the following.
>
>       if bbox is None:
>           # agg => rgba buffer -> bitmap
>           if 'phoenix' in wx.PlatformInfo:
>               return wx.Bitmap.FromBufferRGBA(int(agg.width),
> int(agg.height),
> memoryview(agg.buffer_rgba()))
>           else:
>               return wx.BitmapFromBufferRGBA(int(agg.width), int(agg.height),
>                                              agg.buffer_rgba())
>       else:
>           # agg => rgba buffer -> bitmap => clipped bitmap
>           return _WX28_clipped_agg_as_bitmap(agg, bbox)
>
> TypeError: cannot make memory view because object does not have the
> buffer interface
> File "h:\devProjectsT\aaTests\matplotlib\wxembedding-5.py", line 63, in
> <module>
>     demo()
> File "h:\devProjectsT\aaTests\matplotlib\wxembedding-5.py", line 60, in demo
>     app.MainLoop()
> File "c:\Python27\Lib\site-packages\wx-2.9.6-msw-phoenix\wx\core.py",
> line 1841, in MainLoop
>     rv = wx.PyApp.MainLoop(self)
> File "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wx.py",
> line 1209, in _onPaint
>     self.draw(drawDC=drawDC)
> File
> "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wxagg.py",
> line 61, in draw
>     self.bitmap = _convert_agg_to_wx_bitmap(self.get_renderer(), None)
> File
> "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wxagg.py",
> line 173, in _convert_agg_to_wx_bitmap
>     memoryview(agg.buffer_rgba()))
>
> I tried using "memoryview" based on a suggestion by Robin Dunn, and
> based on the following info I see in the debugger that should work no?
>
> agg.buffer_rgba()
> <read-write buffer ptr 0x05400638, size 229200 at 0x055FC680>
> type(agg.buffer_rgba())
> <type 'buffer'>
> agg
> <matplotlib.backends.backend_agg.RendererAgg instance at 0x04BA0670>
>
> If I don't use "memoryview" (which would probably be preferred) I get
> the following exception.
>
> Can someone help us figure this one out.
>
> Thanks
> Werner
>
>
> TypeError: Bitmap.FromBufferRGBA(): argument 3 has unexpected type 'buffer'
> File "h:\devProjectsT\aaTests\matplotlib\wxembedding-5.py", line 63, in
> <module>
>     demo()
> File "h:\devProjectsT\aaTests\matplotlib\wxembedding-5.py", line 60, in demo
>     app.MainLoop()
> File "c:\Python27\Lib\site-packages\wx-2.9.6-msw-phoenix\wx\core.py",
> line 1841, in MainLoop
>     rv = wx.PyApp.MainLoop(self)
> File "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wx.py",
> line 1209, in _onPaint
>     self.draw(drawDC=drawDC)
> File
> "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wxagg.py",
> line 61, in draw
>     self.bitmap = _convert_agg_to_wx_bitmap(self.get_renderer(), None)
> File
> "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wxagg.py",
> line 173, in _convert_agg_to_wx_bitmap
>     agg.buffer_rgba())
>
> ------------------------------------------------------------------------------
> Precog is a next-generation analytics platform capable of advanced
> analytics on semi-structured data. The platform includes APIs for building
> apps and a phenomenal toolset for data science. Developers can use
> our toolset for easy data analysis & visualization. Get a free account!
> http://www2.precog.com/precogplatform/slashdotnewsletter
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to