51学通信论坛2017新版

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2701|回复: 0
打印 上一主题 下一主题

Kgif:一个从活动窗口创建 GIF 的简单脚本

[复制链接]

 成长值: 15613

  • TA的每日心情
    开心
    2022-7-17 17:50
  • 2444

    主题

    2544

    帖子

    7万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    74104
    跳转到指定楼层
    楼主
    发表于 2017-11-15 16:09:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


    Kgif 是一个简单的 shell 脚本,它可以从活动窗口创建一个 GIF 文件。我觉得这个程序专门是为捕获终端活动设计的,我经常用于这个。 -- MAGESH MARUTHAMUTHU
    本文导航

      -安装依赖 …… 28%
      -安装 Kgif 及使用 …… 43%
    编译自: http://www.2daygeek.com/kgif-create-animated-gif-file-active-window-screen-recorder-capture-arch-linux-mint-fedora-ubuntu-debian-opensuse-centos/
    作者: MAGESH MARUTHAMUTHU
    译者: geekpi

    Kgif[1] 是一个简单的 shell 脚本,它可以从活动窗口创建一个 GIF 文件。我觉得这个程序专门是为捕获终端活动设计的,我经常用于这个。
    它将窗口的活动捕获为一系列的 PNG 图片,然后组合在一起创建一个GIF 动画。脚本以 0.5 秒的间隔截取活动窗口。如果你觉得这不符合你的要求,你可以根据你的需要修改脚本。
    最初它是为了捕获 tty 输出以及创建 github 项目的预览图创建的。
    确保你在运行 Kgif 之前已经安装了 scrot 和 ImageMagick 软件包。
    推荐阅读:Peek - 在 Linux 中创建一个 GIF 动画录像机[2]。
    什么是 ImageMagick?ImageMagick 是一个命令行工具,用于图像转换和编辑。它支持所有类型的图片格式(超过 200 种),如 PNG、JPEG、JPEG-2000、GIF、TIFF、DPX、EXR、WebP、Postscript、PDF 和 SVG。
    什么是 Scrot?Scrot 代表 SCReenshOT,它是一个开源的命令行工具,用于捕获桌面、终端或特定窗口的屏幕截图。
    安装依赖

    Kgif 需要 scrot 以及 ImageMagick。
    对于基于 Debian 的系统:
    $ sudo apt-get install scrot imagemagick

    对于基于 RHEL/CentOS 的系统:
    $ sudo yum install scrot ImageMagick

    对于 Fedora 系统:
    $ sudo dnf install scrot ImageMagick

    对于 openSUSE 系统:
    $ sudo zypper install scrot ImageMagick

    对于基于 Arch Linux 的系统:
    $ sudo pacman -S scrot ImageMagick

    安装 Kgif 及使用

    安装 Kgif 并不困难,因为不需要安装。只需从开发者的 github 页面克隆源文件,你就可以运行 kgif.sh 文件来捕获活动窗口了。默认情况下它的延迟为 1 秒,你可以用 --delay 选项来修改延迟。最后,按下 Ctrl + c 来停止捕获。
    $ git clone https://github.com/luminousmen/Kgif
    $ cd Kgif
    $ ./kgif.sh
    Setting delay to 1 sec
    Capturing...
    ^C
    Stop capturing
    Converting to gif...
    Cleaning...
    Done!

    检查系统中是否已存在依赖。
    $ ./kgif.sh --check
    OK: found scrot
    OK: found imagemagick

    设置在 N 秒延迟后开始捕获。
    $ ./kgif.sh --delay=5
    Setting delay to 5 sec
    Capturing...
    ^C
    Stop capturing
    Converting to gif...
    Cleaning...
    Done!

    它会将文件保存为 terminal.gif,并且每次在生成新文件时都会覆盖。因此,我建议你添加 --filename 选项将文件保存为不同的文件名。
    $ ./kgif.sh --delay=5 --filename=2g-test.gif
    Setting delay to 5 sec
    Capturing...
    ^C
    Stop capturing
    Converting to gif...
    Cleaning...
    Done!

    使用 --noclean 选项保留 png 截图。
    $ ./kgif.sh --delay=5 --noclean

    要了解更多的选项:
    $ ./kgif.sh --help
    usage: ./kgif.sh [--delay] [--filename ] [--gifdelay] [--noclean] [--check] [-h]
    -h, --help Show this help, exit
    --check Check if all dependencies are installed, exit
    --delay= Set delay in seconds to specify how long script will wait until start capturing.
    --gifdelay= Set delay in seconds to specify how fast images appears in gif.
    --filename= Set file name for output gif.
    --noclean Set if you don't want to delete source *.png screenshots.

    via: http://www.2daygeek.com/kgif-create-animated-gif-file-active-window-screen-recorder-capture-arch-linux-mint-fedora-ubuntu-debian-opensuse-centos/
    作者:MAGESH MARUTHAMUTHU[3] 译者:geekpi 校对:wxy
    本文由 LCTT 原创编译,Linux中国 荣誉推出

      [1]: Kgif - https://github.com/luminousmen/Kgif
      [2]: Peek - 在 Linux 中创建一个 GIF 动画录像机 - http://www.2daygeek.com/kgif-create-animated-gif-file-active-window-screen-recorder-capture-arch-linux-mint-fedora-ubuntu-debian-opensuse-centos/www.2daygeek.com/peek-create-animated-gif-screen-recorder-capture-arch-linux-mint-fedora-ubuntu/
      [3]: MAGESH MARUTHAMUTHU - http://www.2daygeek.com/author/magesh/


    声明:本文转载自网络。版权归原作者所有,如有侵权请联系删除。
    扫描并关注51学通信微信公众号,获取更多精彩通信课程分享。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|51学通信技术论坛

    GMT+8, 2025-1-31 23:01 , Processed in 0.081917 second(s), 33 queries .

    Powered by Discuz! X3

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表