Note:本篇文章内容为linux下利用gimp和其它工具组合完成截取制作GIF图的一种实现,制作更为灵活,但并不方便,如果不需要那么高的定制性,并追求方便高效。可以使用类似QQ影音之类的软件,自带截取视频生成GIF功能

首先看下效果(截取视频制作GIF图)(1.1MB):

所用工具:GIMPgimp-plugin-registryOpenshot(可换)

Ubuntu用户可通过源直接安装

(注:gimp-plugin-registry这个插件的目的主要是裁剪图片,还是很方便的。如果你现在不想使用插件实现。也可以用其它方法实现,如imagemagick的命令行命令convert,由于今天主要是讲GIMP的实现方法,所以convert的使用还请自行搜索)

来看两个图片(上面的是原视频截图,下面的是我需要的尺寸)

有必要说下这个动态图的主要制作过程,一是便于理解,二是如果大家觉得有可以改进的地方或是不同的思路可以分享出来。最初我的想法是裁剪视频到满意的状态 比如从(720×480像素到450×220)虽然这个视频本身就是视频前面的广告,但是竟然广告内部也内嵌广告,所以我希望把下面的那个汉字去掉。并且尺寸也应该是由我来设定的。

整体的制作流程就是

  1. 用视频裁剪软件剪出所需视频片段并导出图片序列
  2. 通过gimp插件修改尺寸,大小
  3. 优化序列,导出最终gif

Step1、用视频裁剪软件剪出所需视频片段并导出图片序列

视频制作软件Openshot(你可以使用你习惯的其它类似工具)

我选择的是Openshot,导入视频素材,并托动到下面的轨道上。

播放/暂停视频,用鼠标在预览窗口上慢慢拉动,选择起始,然后点一下那个绿色的箭头,添加遮罩。再在结束位置上添加一个。之后点选裁剪工具,在那两个标记 点下方点一下,就切断视频了。(如果视频太小,掌握不精确,可以把鼠标放在轨道视频上,按住Ctrl,滚动鼠标中键,增加视频长度,就能看的准了)

切好后,把视频前后不要的地方直接右键移除。

在剩下的视频片段上右键 – 转换成图片序列,稍等片刻。

在你放视频的目录就会有一个新的目录,进入后还有一个目录,再次进入,就看到你的图片序列了。

Step2、通过gimp插件修改尺寸,大小

这时我们的插件登场。 安装后重启gimp,点击“滤镜 – Batch – batch process”进入一个界面。可以对图片进行批量处理操作。

我们先添加刚才导入的图片序列(添加完成后选择文件的窗口没有自动关闭,手动关闭下,不知道你们是不是也这样)

然后到“Resize”选项卡里面调整大小,比如我这里是调节到原图大小的50%

确定后,到Rename选项卡设置导出路径

然后到Output选项卡导出。 再次添加图片序列(50%大小的序列)

到Crop选项卡里面进行裁剪设置

通过测量工具得出所要尺寸。填入如下界面

到Rename选项卡设置新的保存目录,然后到Output导出

好,现在大小已经合适。 我们打开GIMP,导入图片序列。

点击“滤镜 – 动画 – 优化(对GIF)” 之后出现的图片序列我们看下名字,后面多了(200ms)(combine)字样。

我们在“滤镜 – 动画 – 回放” 上预览动画,那么1x就是图片间隔是200ms 我觉得2x速度更合适,所以,在导出时的导出选项可以使用100ms 这也是一个很不错的参考。

Step3、优化序列,导出最终gif

GIMP也疯狂之动态图的制作(三)的更多相关文章

  1. GIMP也疯狂之动态图的制作(四)

    本篇文章为gimp制作动态图的第四篇.在之前的基础上简单的拓展了下思路.就能做出蛮实用的动态图.本文将介绍两个动态图.第一个为在一张静态图上添加动态图,第二个图为修改部分渐变. 效果: 素材: 其实, ...

  2. GIMP也疯狂之动态图的制作(一)

    写在前面的话:本系列gimp教程已首发在Linux吧(Go),之所以重新发表是因为便于博主分类并且可以重新整理,用作记录.本系列的侧重不是GIF的教程,而是gimp教程,想更好的制作GIF图片请使用专 ...

  3. GIMP也疯狂之动态图的制作(二)

    首先看下效果: (素材丢失,无法提供) 所用工具:GIMP.GIMP-GAP(在源中直接搜索安装) 文后会添加一个从U2B上搬运过来的视频教程,效果不错,值得一看本想也制作个人物变换,但几次实验,相同 ...

  4. GIF动态图制作

    GIF动态图制作 博客写了也有一阵了,一直好奇大牛的博客里demo的动态图是怎么做的,今天抽空研究了一下,找了一个软件,以后再发现有好的工具再继续推荐 GIF制作工具--LICEcap 效果要比下面的 ...

  5. 4.14Python数据处理篇之Matplotlib系列(十四)---动态图的绘制

    目录 目录 前言 (一)需求分析 (二)随机数的动态图 1.思路分析: 2.源代码: 2.输出效果: 目录 前言 学习matplotlib已经到了尾声,没有必要再继续深究下去了,现今只是学了一些基础的 ...

  6. C# 动态创建SQL数据库(二) 在.net core web项目中生成二维码 后台Post/Get 请求接口 方式 WebForm 页面ajax 请求后台页面 方法 实现输入框小数多 自动进位展示,编辑时实际值不变 快速掌握Gif动态图实现代码 C#处理和对接HTTP接口请求

    C# 动态创建SQL数据库(二) 使用Entity Framework  创建数据库与表 前面文章有说到使用SQL语句动态创建数据库与数据表,这次直接使用Entriy Framwork 的ORM对象关 ...

  7. PS软件怎么把视频转成gif动态图?

    PS软件怎么把视频转成gif动态图?Adobe PhotoShop软件的最新版本是可以编辑视频的,并且可以将视频转换为GIF动态图,使用也很简单,下面分享ps制作gif动态图的教程,需要的朋友可以参考 ...

  8. gif动图快速制作方法(附工具)

    现在写博客或是wiki的过程中,会经常引用到图片,特别是客户端经常与页面相关所以截图不可避.但是越来越多的效果仅仅一张图片是无法清楚的描述.并且博客或是wiki也是支持gif图的.gif图的制作方法有 ...

  9. windows和ubuntu下gif动态图片的制作

    现在社交软件中, 各种各样的动图为大家交流很大的乐趣.  Gif图片比视频小, 比静态JPG图片形象生动, 更适用于产品展示和步骤演示等. 这里简单介绍一下在window系统和ubuntu系统下gif ...

随机推荐

  1. HDU 1988 Cube Stacking (数据结构-并检查集合)

    Cube Stacking Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 18834   Accepted: 6535 Ca ...

  2. Git现实(一个)版本控制概述

    从今天开始.我们了解的分布式版本控制系统Git相关内容.了解Git之前,我们的第一个版本控制系统,使宏观的描述. 什么是版本号控制 版本号控制是指通过对文件内容的变化进行记录,并为每次的变化进行编号, ...

  3. Cocos2d-x使用Luajit将Lua脚本编译成bytecode,启用加密

    http://www.cocoachina.com/bbs/read.php?tid=205802 lua脚本进行加密,查了一下相关的资料 ,得知lua本身能够使用luac将脚本编译为字节码(byte ...

  4. struts2跳转类型解析

    struts 2 跳转类型 1.dispatcher  dispatcher 为默认跳转类型.用于返回一个视图资源 xml代码 : <result name="success" ...

  5. Java学习笔记——泛型

    假定T不仅要指定接口的类继承.使用下面的方式: public class some<T extends Iterable<T> & Comparable<T>&g ...

  6. dede织梦背景经常使用标签

    一些非常实用的标签调用的方法 关键描写叙述调用标签: <meta name="keywords" content="{dede:field name='keywor ...

  7. thoughtworks笔试整理

    笔试了,时间1个半小时.没想到居然有7/10是开放性问题.大意例如以下:1.为什么选择增加ThoughtWorks.200字以内,不能用"interesting"."ch ...

  8. kendo ui 单击取消编辑数据grid减少的原因和治疗方法的数据

    kendo ui单击取消编辑数据buttongrid数据缩减.原因grid编辑数据追打datasorce于data寻找阵列数据的存在.假定有不会加入,加入缺席. 首先一个样本: html代码: < ...

  9. 第3章 抽象工厂模式(Abstract Factory)

    原文 第3章 抽象工厂模式(Abstract Factory) 场景我们的系统要同时支持两个数据库  SqlServer 跟Oracle数据库  并且不同的环境要进行随时切换. 看下面的代码: 1 2 ...

  10. What day is it

    Description Today is Saturday, 17th Nov,2007. Now, if i tell you a date, can you tell me what day it ...