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

Skip to content

Commit 6b1c845

Browse files
committed
minor refactoring of the ps backend
svn path=/trunk/matplotlib/; revision=8109
1 parent a8b8c27 commit 6b1c845

1 file changed

Lines changed: 17 additions & 8 deletions

File tree

lib/matplotlib/backends/backend_ps.py

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,16 @@ def option_scale_image(self):
387387
"""
388388
return True
389389

390+
def _get_image_h_w_bits_command(self, im):
391+
if im.is_grayscale:
392+
h, w, bits = self._gray(im)
393+
imagecmd = "image"
394+
else:
395+
h, w, bits = self._rgb(im)
396+
imagecmd = "false 3 colorimage"
397+
398+
return h, w, bits, imagecmd
399+
390400
def draw_image(self, gc, x, y, im, dx=None, dy=None, transform=None):
391401
"""
392402
Draw the Image instance into the current axes; x is the
@@ -400,12 +410,7 @@ def draw_image(self, gc, x, y, im, dx=None, dy=None, transform=None):
400410

401411
im.flipud_out()
402412

403-
if im.is_grayscale:
404-
h, w, bits = self._gray(im)
405-
imagecmd = "image"
406-
else:
407-
h, w, bits = self._rgb(im)
408-
imagecmd = "false 3 colorimage"
413+
h, w, bits, imagecmd = self._get_image_h_w_bits_command(im)
409414
hexlines = '\n'.join(self._hex_lines(bits))
410415

411416
if dx is None:
@@ -924,6 +929,8 @@ def new_figure_manager(num, *args, **kwargs):
924929
return manager
925930

926931
class FigureCanvasPS(FigureCanvasBase):
932+
_renderer_class = RendererPS
933+
927934
def draw(self):
928935
pass
929936

@@ -1057,7 +1064,8 @@ def write(self, *kl, **kwargs):
10571064

10581065
# mixed mode rendering
10591066
_bbox_inches_restore = kwargs.pop("bbox_inches_restore", None)
1060-
ps_renderer = RendererPS(width, height, self._pswriter, imagedpi=dpi)
1067+
ps_renderer = self._renderer_class(width, height, self._pswriter,
1068+
imagedpi=dpi)
10611069
renderer = MixedModeRenderer(self.figure,
10621070
width, height, dpi, ps_renderer,
10631071
bbox_inches_restore=_bbox_inches_restore)
@@ -1189,7 +1197,8 @@ def write(self, *kl, **kwargs):
11891197

11901198
# mixed mode rendering
11911199
_bbox_inches_restore = kwargs.pop("bbox_inches_restore", None)
1192-
ps_renderer = RendererPS(width, height, self._pswriter, imagedpi=dpi)
1200+
ps_renderer = self._renderer_class(width, height,
1201+
self._pswriter, imagedpi=dpi)
11931202
renderer = MixedModeRenderer(self.figure,
11941203
width, height, dpi, ps_renderer,
11951204
bbox_inches_restore=_bbox_inches_restore)

0 commit comments

Comments
 (0)