@@ -127,15 +127,19 @@ def draw_path_collection(self, *kl, **kw):
127127 return self ._renderer .draw_path_collection (* kl , ** kw )
128128
129129 def _update_methods (self ):
130- #self.draw_path = self._renderer.draw_path # see below
131- #self.draw_markers = self._renderer.draw_markers
132- #self.draw_path_collection = self._renderer.draw_path_collection
133130 self .draw_quad_mesh = self ._renderer .draw_quad_mesh
134131 self .draw_gouraud_triangle = self ._renderer .draw_gouraud_triangle
135132 self .draw_gouraud_triangles = self ._renderer .draw_gouraud_triangles
136133 self .draw_image = self ._renderer .draw_image
137134 self .copy_from_bbox = self ._renderer .copy_from_bbox
138- self .tostring_rgba_minimized = self ._renderer .tostring_rgba_minimized
135+ self .get_content_extents = self ._renderer .get_content_extents
136+
137+ def tostring_rgba_minimized (self ):
138+ extents = self .get_content_extents ()
139+ bbox = [[extents [0 ], self .height - (extents [1 ] + extents [3 ])],
140+ [extents [0 ] + extents [2 ], self .height - extents [1 ]]]
141+ region = self .copy_from_bbox (bbox )
142+ return np .array (region ), extents
139143
140144 def draw_path (self , gc , path , transform , rgbFace = None ):
141145 """
@@ -203,7 +207,7 @@ def draw_text(self, gc, x, y, s, prop, angle, ismath=False, mtext=None):
203207
204208 #print x, y, int(x), int(y), s
205209 self ._renderer .draw_text_image (
206- font . get_image () , np .round (x - xd ), np .round (y + yd ) + 1 , angle , gc )
210+ font , np .round (x - xd ), np .round (y + yd ) + 1 , angle , gc )
207211
208212 def get_text_width_height_descent (self , s , prop , ismath ):
209213 """
@@ -354,7 +358,7 @@ def restore_region(self, region, bbox=None, xy=None):
354358 else :
355359 ox , oy = xy
356360
357- self ._renderer .restore_region2 (region , x1 , y1 , x2 , y2 , ox , oy )
361+ self ._renderer .restore_region (region , x1 , y1 , x2 , y2 , ox , oy )
358362
359363 else :
360364 self ._renderer .restore_region (region )
@@ -394,7 +398,7 @@ def post_processing(image, dpi):
394398
395399 width , height = int (self .width ), int (self .height )
396400
397- buffer , bounds = self ._renderer . tostring_rgba_minimized ()
401+ buffer , bounds = self .tostring_rgba_minimized ()
398402
399403 l , b , w , h = bounds
400404
@@ -407,7 +411,6 @@ def post_processing(image, dpi):
407411 img , ox , oy = post_processing (img .reshape ((h , w , 4 )) / 255. ,
408412 self .dpi )
409413 image = fromarray (img , 1 )
410- image .flipud_out ()
411414
412415 gc = self .new_gc ()
413416 self ._renderer .draw_image (gc ,
@@ -505,12 +508,13 @@ def print_raw(self, filename_or_obj, *args, **kwargs):
505508 original_dpi = renderer .dpi
506509 renderer .dpi = self .figure .dpi
507510 if is_string_like (filename_or_obj ):
508- filename_or_obj = open (filename_or_obj , 'wb' )
511+ fileobj = open (filename_or_obj , 'wb' )
509512 close = True
510513 else :
514+ fileobj = filename_or_obj
511515 close = False
512516 try :
513- renderer ._renderer .write_rgba ( filename_or_obj )
517+ fileobj . write ( renderer ._renderer .buffer_rgba () )
514518 finally :
515519 if close :
516520 filename_or_obj .close ()
@@ -528,9 +532,7 @@ def print_png(self, filename_or_obj, *args, **kwargs):
528532 else :
529533 close = False
530534 try :
531- _png .write_png (renderer ._renderer .buffer_rgba (),
532- renderer .width , renderer .height ,
533- filename_or_obj , self .figure .dpi )
535+ _png .write_png (renderer ._renderer , filename_or_obj , self .figure .dpi )
534536 finally :
535537 if close :
536538 filename_or_obj .close ()
0 commit comments