python脚本,它编译本机二进制文件,使用ncurses在终端上以ascii格式播放gif。
giftoa的Python项目详细描述
详细信息
编译在终端上使用ascii格式播放gif的本机二进制文件 课程。
演示
giftoa -i cat.gif -o cat_gif --invert && ./cat_gif
要求
- gcc或兼容编译器,可以使用^{tt2}指定编译器$ 或--compiler
- python 3.x
- ImageMagick
- JP2A
- libncurses为您的发行版开发包
关于基于debian的发行版:
sudo apt-get install gcc python3 imagemagick jp2a libncurses-dev
安装pip3时可能需要也可能不需要这样做:
sudo apt-get install python3-pip
PIP安装
在安装了上述依赖项之后,可以安装 giftoa和rightgif脚本到您的环境中,使用pip 这样的包管理器:
sudo pip3 install giftoa
或升级:
sudo pip3 install giftoa --upgrade
Debian包装
您还可以为rightgif和 giftoa通过在 debian_packaging目录。
giftoa.deb文件将安装上面列出的依赖项。
一旦构建了.deb包,就可以有选择地安装每个包 使用:
sudo dpkg -i deb_package_here.deb
sudo apt-get install -f
基本用法
giftoa -i gif_file.gif -o output_exe [jp2a options...]
或
giftoa -i gif_file.gif [jp2a options...](可执行文件以 gif文件)
或
giftoa -ihttp://gifwebsite.com/somegif.gif-o output_exe [jp2a options...]
-o/–使用URL时必须指定输出。
或
您可以指定包含JPEG文件的目录,在 目录将用作动画的帧。
它们将按名称按自然顺序排序,因此您应该包括一些 在每个文件名的开头或结尾处的帧编号。
只考虑JPEG文件,其他类型的文件 忽略。
如果这样做,则必须指定输出可执行文件的名称 明确地。
giftoa -i directory -o output_file_name_required.exe [jp2a options...]
或
使用--stdin-frames读取以换行分隔的JPEG帧列表 从标准输入。
示例:
find image_dir -mindepth 1 | sort --version-sort | giftoa --stdin-frames-o output_exe [jp2a options...]
注意--version-sort是特定于gnu sort的。
上面的命令模拟将目录传递给-i的行为 大部分。
giftoa不接受来自stdin的非jpeg文件路径,它将生成 检测到非JPEG时出错。
与rightgif配套脚本一起使用
rightgif.py是rightgif的简单客户端
它返回一个指向gif的url,该gif与任何句子/语句相关 你作为辩论通过了。
例如:
rightgif really fat cats
您不需要引用查询,但可以:
rightgif "horrifically obese cats"
与Giftoa配对:
giftoa -i $(rightgif kitties) -o kitties_exe
或
giftoa -i $(rightgif kitties) -o kitties_exe && ./kitties_exe
注意:向giftoa传递url时,必须指定输出文件。
帧延迟/fps
-fps或--frames-per-second可用于为 动画。
如果未指定,则默认为每秒10帧。
此选项不能与-fss或-fsn一起使用。
最小值为1,最大值为1000000000,数值为 一定是个整数。
示例:
giftoa -i gif_file.gif -fps 25 -o output_exe [jp2a options...]
-fsn或--framesleep-nanoseconds可用于调整延迟 在gif帧之间以纳秒为单位。
此选项不能与-fps/--frames-per-second一起使用。
最小值为0,最大值为999999999,数值为 一定是个整数。
示例:
giftoa -i gif_file.gif -fsn 100000000 -o output_exe [jp2a options...]
-fss或--framesleep-seconds可用于调整 gif帧之间的秒数。这是除了 指定的纳秒。
此选项不能与^{tt22}一起使用$/--frames-per-second。
^使用-fss时,{tt25}$将默认为0,并且 未显式指定纳秒。
示例(1秒100纳秒):
giftoa -i gif_file.gif -fss 1 -fsn 100 -o output_exe [jp2a options...]
最小值为0,最大值为2147483647,数值为 也必须是一个整数。
C编译器选择
-cc或--compiler可用于指定用于 编译二进制文件
示例:
giftoa -i gif_file.gif -cc clang -o output_exe [jp2a options...]