GIF images will be split into python method

Import os
 from PIL Import Image, ImageSequence 


DEF parseGIF (gifname):
     # will be resolved to gif picture 
    # read GIF 
    IM = Image.open (gifname)
     # iterators GIF image streams 
    iter = ImageSequence.Iterator (IM)
     # Get File name 
    file_name = gifname.split ( " . " ) [0] 
    index =. 1
     # determines whether a directory exists 
    pic_dirct = " imgs / {0} " .format (file_name) 
    mkdirlambda = the lambda X: os.makdirs ( 
        X)IF  not os.path.exists (the X-) the else True   # directory exists, does not exist, create 
    mkdirlambda (pic_dirct)
     # traversing picture stream every frame 
    for Frame in iter:
         Print ( " Image% d: the MODE% S, size S% " % (index, frame.mode, frame.size)) 
        frame.save ( " imgs /% S /% d.png Frame " % (file_name, index)) 
        index + =. 1 # frame0 = Frames [0] # frame0.show () # the GIF picture stream is split into 
    imgs = [frame.copy () for Frame

    
    

    in ImageSequence.Iterator (IM)]
     # the GIF image stream into moving back to FIG 
    imgs [0] .save ( ' out.gif ' , SAVE_ALL = True, append_images imgs = [. 1 :]) 

    # image stream in reverse order 
    imgs. Reverse ()
     # all frames are reverse images saved 
    imgs [0] .save ( ' ./reverse_out.gif ' , SAVE_ALL = True, append_images imgs = [. 1 :]) 


IF  the __name__ == " __main__ " : 
    parseGIF ( " 03.gif " )

 

Guess you like

Origin www.cnblogs.com/fly-kaka/p/11694011.html