@@ -491,12 +491,12 @@ def graphics_array(self, ncols=3):
491491 Graphics Array of size 2 x 3
492492 sage: g.show(figsize=[6,3]) # optional
493493
494- Specify different arrangement of array and save with different file name::
494+ Specify different arrangement of array and save it with a given file name::
495495
496496 sage: g = a.graphics_array(ncols=2); print g
497497 Graphics Array of size 2 x 2
498498 sage: f = tmp_filename(ext='.png')
499- sage: g.show (f) # optional
499+ sage: g.save (f) # optional
500500
501501 Frames can be specified as a generator too; it is internally converted to a list::
502502
@@ -555,6 +555,8 @@ def gif(self, delay=20, savefile=None, iterations=0, show_path=False,
555555 sage: td = tmp_dir()
556556 sage: a.gif() # not tested
557557 sage: a.gif(savefile=td + 'my_animation.gif', delay=35, iterations=3) # optional -- ImageMagick
558+ sage: with open(td + 'my_animation.gif', 'rb') as f: print '\x21\xf9\x04\x08\x23\x00' in f.read() # optional -- ImageMagick
559+ True
558560 sage: a.gif(savefile=td + 'my_animation.gif', show_path=True) # optional -- ImageMagick
559561 Animation saved to .../my_animation.gif.
560562 sage: a.gif(savefile=td + 'my_animation_2.gif', show_path=True, use_ffmpeg=True) # optional -- ffmpeg
@@ -795,6 +797,8 @@ def ffmpeg(self, savefile=None, show_path=False, output_format=None,
795797 TESTS::
796798
797799 sage: a.ffmpeg(output_format='gif',delay=30,iterations=5) # optional -- ffmpeg
800+ doctest:...: DeprecationWarning: use tmp_filename instead
801+ See http://trac.sagemath.org/17234 for details.
798802 """
799803 if not self ._have_ffmpeg ():
800804 msg = """Error: ffmpeg does not appear to be installed. Saving an animation to
@@ -924,8 +928,8 @@ def apng(self, savefile=None, show_path=False, delay=20, iterations=0):
924928 if show_path :
925929 print "Animation saved to file %s." % savefile
926930
927- def save (self , filename = None , show_path = False , use_ffmpeg = False ):
928- """
931+ def save (self , filename = None , show_path = False , use_ffmpeg = False , ** kwds ):
932+ r """
929933 Save this animation.
930934
931935 INPUT:
@@ -964,6 +968,27 @@ def save(self, filename=None, show_path=False, use_ffmpeg=False):
964968 sage: a.save(td + 'wave0.sobj')
965969 sage: a.save(td + 'wave1.sobj', show_path=True)
966970 Animation saved to file .../wave1.sobj.
971+
972+ TESTS:
973+
974+ Ensure that we can pass delay and iteration count to the saved
975+ GIF image (see :trac:`18176`)::
976+
977+ sage: a.save(td + 'wave.gif') # optional -- ImageMagick
978+ sage: with open(td + 'wave.gif', 'rb') as f: print '!\xf9\x04\x08\x14\x00' in f.read() # optional -- ImageMagick
979+ True
980+ sage: with open(td + 'wave.gif', 'rb') as f: print '!\xff\x0bNETSCAPE2.0\x03\x01\x00\x00\x00' in f.read() # optional -- ImageMagick
981+ True
982+ sage: a.save(td + 'wave.gif', delay=35) # optional -- ImageMagick
983+ sage: with open(td + 'wave.gif', 'rb') as f: print '!\xf9\x04\x08\x14\x00' in f.read() # optional -- ImageMagick
984+ False
985+ sage: with open(td + 'wave.gif', 'rb') as f: print '!\xf9\x04\x08\x23\x00' in f.read() # optional -- ImageMagick
986+ True
987+ sage: a.save(td + 'wave.gif', iterations=3) # optional -- ImageMagick
988+ sage: with open(td + 'wave.gif', 'rb') as f: print '!\xff\x0bNETSCAPE2.0\x03\x01\x00\x00\x00' in f.read() # optional -- ImageMagick
989+ False
990+ sage: with open(td + 'wave.gif', 'rb') as f: print '!\xff\x0bNETSCAPE2.0\x03\x01\x03\x00\x00' in f.read() # optional -- ImageMagick
991+ True
967992 """
968993 if filename is None :
969994 suffix = '.gif'
@@ -974,16 +999,13 @@ def save(self, filename=None, show_path=False, use_ffmpeg=False):
974999
9751000 if filename is None or suffix == '.gif' :
9761001 self .gif (savefile = filename , show_path = show_path ,
977- use_ffmpeg = use_ffmpeg )
978- return
1002+ use_ffmpeg = use_ffmpeg , ** kwds )
9791003 elif suffix == '.sobj' :
9801004 SageObject .save (self , filename )
9811005 if show_path :
9821006 print "Animation saved to file %s." % filename
983- return
9841007 else :
985- self .ffmpeg (savefile = filename , show_path = show_path )
986- return
1008+ self .ffmpeg (savefile = filename , show_path = show_path , ** kwds )
9871009
9881010
9891011class APngAssembler (object ):
0 commit comments