Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 95f0748

Browse files
use wx.lib.wxcairo.BitmapFromImageSurface to convert from cairo to wx
1 parent fff747a commit 95f0748

File tree

1 file changed

+2
-8
lines changed

1 file changed

+2
-8
lines changed

lib/matplotlib/backends/backend_wxcairo.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from .backend_cairo import cairo, FigureCanvasCairo, RendererCairo
1212
from .backend_wx import (
1313
_BackendWx, _FigureCanvasWxBase, FigureFrameWx, NavigationToolbar2Wx)
14-
from . import wx_compat as wxc
14+
import wx.lib.wxcairo as wxcairo
1515

1616

1717
class FigureFrameWxCairo(FigureFrameWx):
@@ -44,13 +44,7 @@ def draw(self, drawDC=None):
4444
self._renderer.set_ctx_from_surface(surface)
4545
self._renderer.set_width_height(width, height)
4646
self.figure.draw(self._renderer)
47-
buf = np.frombuffer(surface.get_data(), dtype="uint8").reshape((height, width, 4))
48-
if sys.byteorder == "little":
49-
b, g, r, a = np.rollaxis(buf, -1)
50-
else:
51-
a, r, g, b = np.rollaxis(buf, -1)
52-
rgba8888 = np.dstack([r, g, b, a])
53-
self.bitmap = wxc.BitmapFromBuffer(width, height, rgba8888)
47+
self.bitmap = wxcairo.BitmapFromImageSurface(surface)
5448
self._isDrawn = True
5549
self.gui_repaint(drawDC=drawDC, origin='WXCairo')
5650

0 commit comments

Comments
 (0)