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. AsyncHandler

    package com.ango.deskclock; import android.content.Context; import android.content.Intent; import an ...

  2. [数字dp] hdu 3565 Bi-peak Number

    意甲冠军: 为了范围[X,Y],的最大位数的范围内的需求高峰和值多少. 双峰是为了满足一些规定数量 你可以切两 /\ /\ 形式. 思维: dp[site][cur][ok]  site地点  面的数 ...

  3. NET 中的多线程

    NET 中的多线程 为什么使用多线程 使用户界面能够随时相应用户输入 当某个应用程序在进行大量运算时候,为了保证应用程序能够随时相应客户的输入,这个时候我们往往需要让大量运算和相应用户输入这两个行为在 ...

  4. 【Eclipse高速发展-文章插件】google V8,对于调试Nodejs

    安装的的时候能够通过 Help>Eclipse Marketplace的 搜索方式安装 或者 Help>Install New Software Name:googleV8 Locatio ...

  5. [SignalR]一个简单的聊天室

    原文:[SignalR]一个简单的聊天室 1.说明 开发环境:Microsoft Visual Studio 2010 以及需要安装NuGet. 2.添加SignalR所需要的类库以及脚本文件: 3. ...

  6. jQuery语音播放插件

    自己做jQuery插件:将audio5js封装成jQuery语音播放插件   日前的一个项目需要用到语音播放功能.发现Audio5js符合需求且使用简单,又鉴于jQuery控件便于开发操作,于是有了以 ...

  7. 我的MYSQL学习心得(二)

    原文:我的MYSQL学习心得(二) 我的MYSQL学习心得(二) 我的MYSQL学习心得(一) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYSQL学习心得(五) 我的MYSQL ...

  8. .Net中把图片等文件放入DLL中,并在程序中引用

    原文:.Net中把图片等文件放入DLL中,并在程序中引用 [摘要] 有时我们需要隐藏程序中的一些资源,比如游戏,过关后才能看到图片,那么图片就必须隐藏起来,否则不用玩这个游戏就可以看到你的图片了,呵呵 ...

  9. Android手游《》斗地主完整的源代码(支持单机和网络对战)

    Android手游<斗地主>完整的源代码(支持单机和网络对战)下载.一个很不错的源代码. 斗地主掌游是一个独特的国内社会斗地主棋牌游戏,之后玩家可以下载网上斗地主和全世界.掌游斗地主特点: ...

  10. Merge into的使用详解-你Merge了没有

    Merge是一个非常有用的功能,类似于Mysql里的insert into on duplicate key. Oracle在9i引入了merge命令, 通过这个merge你能够在一个SQL语句中对一 ...