@@ -127,15 +127,19 @@ def draw_path_collection(self, *kl, **kw):
127
127
return self ._renderer .draw_path_collection (* kl , ** kw )
128
128
129
129
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
133
130
self .draw_quad_mesh = self ._renderer .draw_quad_mesh
134
131
self .draw_gouraud_triangle = self ._renderer .draw_gouraud_triangle
135
132
self .draw_gouraud_triangles = self ._renderer .draw_gouraud_triangles
136
133
self .draw_image = self ._renderer .draw_image
137
134
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
139
143
140
144
def draw_path (self , gc , path , transform , rgbFace = None ):
141
145
"""
@@ -203,7 +207,7 @@ def draw_text(self, gc, x, y, s, prop, angle, ismath=False, mtext=None):
203
207
204
208
#print x, y, int(x), int(y), s
205
209
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 )
207
211
208
212
def get_text_width_height_descent (self , s , prop , ismath ):
209
213
"""
@@ -354,7 +358,7 @@ def restore_region(self, region, bbox=None, xy=None):
354
358
else :
355
359
ox , oy = xy
356
360
357
- self ._renderer .restore_region2 (region , x1 , y1 , x2 , y2 , ox , oy )
361
+ self ._renderer .restore_region (region , x1 , y1 , x2 , y2 , ox , oy )
358
362
359
363
else :
360
364
self ._renderer .restore_region (region )
@@ -394,7 +398,7 @@ def post_processing(image, dpi):
394
398
395
399
width , height = int (self .width ), int (self .height )
396
400
397
- buffer , bounds = self ._renderer . tostring_rgba_minimized ()
401
+ buffer , bounds = self .tostring_rgba_minimized ()
398
402
399
403
l , b , w , h = bounds
400
404
@@ -407,7 +411,6 @@ def post_processing(image, dpi):
407
411
img , ox , oy = post_processing (img .reshape ((h , w , 4 )) / 255. ,
408
412
self .dpi )
409
413
image = fromarray (img , 1 )
410
- image .flipud_out ()
411
414
412
415
gc = self .new_gc ()
413
416
self ._renderer .draw_image (gc ,
@@ -505,12 +508,13 @@ def print_raw(self, filename_or_obj, *args, **kwargs):
505
508
original_dpi = renderer .dpi
506
509
renderer .dpi = self .figure .dpi
507
510
if is_string_like (filename_or_obj ):
508
- filename_or_obj = open (filename_or_obj , 'wb' )
511
+ fileobj = open (filename_or_obj , 'wb' )
509
512
close = True
510
513
else :
514
+ fileobj = filename_or_obj
511
515
close = False
512
516
try :
513
- renderer ._renderer .write_rgba ( filename_or_obj )
517
+ fileobj . write ( renderer ._renderer .buffer_rgba () )
514
518
finally :
515
519
if close :
516
520
filename_or_obj .close ()
@@ -528,9 +532,7 @@ def print_png(self, filename_or_obj, *args, **kwargs):
528
532
else :
529
533
close = False
530
534
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 )
534
536
finally :
535
537
if close :
536
538
filename_or_obj .close ()
0 commit comments