Ubuntu下录制gif动态图教程

树叶云

用Ubuntu系统自带的截图很难抓好有动态效果的图片。有没有其它好用截图工具能截图gif动态图呢? 要是能截到.gif格式的动态图片那就更好啦。别急,Linux下也有简单好用的录制gif动态图的工具。

录制 gif 动画在很多时候都会派上用场。比如说,你需要向某个朋友演示软件的用法。现在有一个录制 GIF 动画的小工具值得大家试试,它的名字是 byzanz。

下面我就以Ubuntu 17.10下录制gif详细讲解过程,其他Linux发行版也一样简单。

先看效果图:

下载byzanz录制工具

可以使用图形界面的Ubuntu软件中心搜索byzanz或者通过apt-get下载。

命令:

安装完成后打开终端输入

帮助选项:
  -?, –help              显示帮助选项
  –help-all              显示全部帮助选项
  –help-gtk              显示 GTK+ 选项

应用程序选项:
  -d, –duration=SECS    动画的时间 (默认:10 秒)
  -e, –exec=COMMAND      Command to execute and time
  –delay=SECS            开始之前的延时(默认:1 秒)
  -c, –cursor            录制鼠标光标
  -a, –audio            录音
  -x, –x=像素            要录制矩形的 X 坐标
  -y, –y=像素            要录制矩形的 Y 坐标
  -w, –width=像素        录制矩形的宽度
  -h, –height=像素      录制矩形的高度
  -v, –verbose          详细
  –display=显示          要使用的 X 显示

其中我们重点关注几个参数
* -d 动画录制的时间,默认录制10秒
* -e 动画开始延迟
* -x 录制区域的起始X坐标
* -y 录制区域的起始Y坐标
* -w 录制区域的宽度
* -y 录制区域的高度

byzanz-record –delay=5 -d 20  -x 163 -y 64 -w 1076 -h 843 ~/a.gif

–delay=5  表示延迟5妙

如何知道自己要在屏幕录制区域的坐标以及高度?系统自带有命令工具,输入xwininfo会提示你选择一个窗口,点击之后会返回这个窗口的详细信息 。测试机器的信息如下图

xwininfo: Please select the window about which you
          would like information by clicking the
          mouse in that window.

xwininfo: Window id: 0x9b (has no name)

  Absolute upper-left X:  0
  Absolute upper-left Y:  0
  Relative upper-left X:  0
  Relative upper-left Y:  0
  Width: 1366
  Height: 768
  Depth: 24
  Visual: 0x4b
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x4a (installed)
  Bit Gravity State: ForgetGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: yes
  Corners:  +0+0  -0+0  -0-0  +0-0
  -geometry 1366×768+0+0

特别说明:

Absolute upper-left X: 开始的X坐标,绝对值
Absolute upper-left Y: 开始的Y坐标,绝对值
Width: 窗口宽度
Height : 窗口高度

只要有这四个数值我们就可以开始录制gif动态图了。

byzanz-record -x 0 -y 0 -w 800 -h 505 ~/x.gif 

本文最上面就是一张就是byzanz录制的gif效果图。

因为这个是命令行工具,而且其中需要指定录像区域的坐标这些参数,但是你不可能那么清楚吧,有什么好的方式能获取到要录像区域的屏幕范围呢?Ubuntu下还有一个叫做xdotool,可以获取到当前鼠标位置,这样一来,你就可以算出你要录像区域的坐标位置了。

安装xdotool:

sudo apt-get install xdotool1

命令行输入:

xdotool getmouselocation1

把鼠标移到要录入的位置,然后敲击回车确认命令,显示如下:

x:872 y:588 screen:0 window:713033471

其中就可以知道x和y的坐标,进而获得byzanz-record需要的参数。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/209999.html<

(0)
运维的头像运维
上一篇2025-04-09 17:45
下一篇 2025-04-09 17:47

相关推荐

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注