8000 GitHub - ntflc/Pic2Gif: Merge pictures to GIF
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

ntflc/Pic2Gif

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Pic2Gif

功能

将指定文件夹下的多张图片(JPG或PNG格式)按照文件名顺序合并为一张指定时间间隔的GIF图片。

使用的第三方库

numpy imageio

使用方法

安装numpyimageio库,具体方法请自行搜索。

其中numpy库为imageio所需。

python main.py [-i image] [-f jpg] [-o out] [-d 0.5]

参数

  • -i--input: 图片目录路径。可以为相对路径(如image),也可以为绝对路径(如/Users/ntflc/image)。默认值为"image"。
  • -f--format: 图片格式。可以为"jpg"或"png",但只能指定一种格式。一旦确定了格式,图片目录下其他格式的文件将被忽略、默认值为"jpg"。
  • -o--output: 输出GIF图片文件名。仅为文件名,不包括后缀名。默认值为"out"。
  • -d--duration: 两张图片之间的时间间隔。必须为数字,可以为小数。默认值为"0.5"。

其他

由于Python自带排序函数sorted()对文件名进行排序时是按照ASCII码顺序的,即对于1.jpg2.jpg10.jpg,会排序为1.jpg10.jpg2.jpg。为了解决这个问题,这里采用StackOverflow上这个问题Martijn Pieters回答的方法:

def numerical_sort(value):
    numbers = re.compile(r"(\d+)")
    parts = numbers.split(value)
    parts[1::2] = map(int, parts[1::2])
    return parts

file_names = sorted((fn for fn in os.listdir(image_path) if fn.endswith(image_format)), key=numerical_sort)

About

Merge pictures to GIF

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0