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

Skip to content

Commit ab80b7e

Browse files
committed
ENH: add imagemagick pipe writer
1 parent 301c1e7 commit ab80b7e

2 files changed

Lines changed: 21 additions & 5 deletions

File tree

lib/matplotlib/animation.py

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -455,19 +455,34 @@ class ImageMagickBase:
455455
exec_key = 'animation.convert_path'
456456
args_key = 'animation.convert_args'
457457

458+
@property
459+
def delay(self):
460+
return 100. / self.fps
461+
458462
@property
459463
def output_args(self):
460464
return [self.outfile]
461465

462466

467+
@writers.register('imagemagick')
468+
class ImageMagickWriter(MovieWriter, ImageMagickBase):
469+
def _args(self):
470+
return ([self.bin_path(),
471+
'-size', '%ix%i' % self.frame_size, '-depth', '8',
472+
'-delay', str(self.delay), '-loop', '0',
473+
'%s:-' % self.frame_format]
474+
+ self.output_args)
475+
476+
463477
@writers.register('imagemagick_file')
464478
class ImageMagickFileWriter(FileMovieWriter, ImageMagickBase):
465-
supported_formats = ['png']
479+
supported_formats = ['png', 'jpeg', 'ppm', 'tiff', 'sgi', 'bmp',
480+
'pbm', 'raw', 'rgba']
466481

467482
def _args(self):
468-
delay = 100. / self.fps
469-
return [self.bin_path(), '-delay', str(delay), '-loop', '0',
470-
'%s*.%s' % (self.temp_prefix, self.frame_format)] + self.output_args
483+
return ([self.bin_path(), '-delay', str(self.delay), '-loop', '0',
484+
'%s*.%s' % (self.temp_prefix, self.frame_format)]
485+
+ self.output_args)
471486

472487

473488
class Animation(object):

lib/matplotlib/rcsetup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,8 @@ def validate_hinting(s):
323323
['xelatex', 'lualatex', 'pdflatex'])
324324

325325
validate_movie_writer = ValidateInStrings('animation.writer',
326-
['ffmpeg', 'ffmpeg_file', 'mencoder', 'mencoder_file', 'imagemagick_file'])
326+
['ffmpeg', 'ffmpeg_file', 'mencoder', 'mencoder_file',
327+
'imagemagick', 'imagemagick_file'])
327328

328329
validate_movie_frame_fmt = ValidateInStrings('animation.frame_format',
329330
['png', 'jpeg', 'tiff', 'raw', 'rgba'])

0 commit comments

Comments
 (0)