Ubuntu下录制gif动态图教程

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

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

先看效果图:

Ubuntu下录制gif动态图教程

下载byzanz录制工具

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

命令:

Ubuntu下录制gif动态图教程 

安装完成后打开终端输入

帮助选项:
  -?, --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 显示

Ubuntu下录制gif动态图教程

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

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

Ubuntu下录制gif动态图教程

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 1366x768+0+0

特别说明:

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

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

Ubuntu下录制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需要的参数。

猜你喜欢

转载自www.linuxidc.com/Linux/2017-12/149800.htm