凝结时光:ImageMagick 制作 gif

从去年12.12开始,工作日都会从单位的落地窗向外拍一张照片,有点每日打卡的意思。weekday 是一天不落的,weekend 不是每次都到单位,落了几次。

想法来自上学的时候,有同学在同一个地方,拍北洋广场的一年四季,做成 gif,非常漂亮。自己就也想试一下,于是就动手了。

干货开始。

工具:shell、ImageMagick

1、照片采集

手机拍摄,上传网盘。

2、照片整理

1 # 准备目录
2 workDir=gifs
3 mkdir $workDir
4 mkdir -p $workDir/imgs
5 mkdir -p $workDir/minImgs
6
7 # 准备文件
8 cd $workDir
9 cp ~/Downloads/aaa/*.jpg imgs/

3、文件名处理

这个是一个特殊的情况,iPhone 拍出来的照片,传到网盘后,文件名是“2014-12-31 084045.jpg”,中间有个空格,在处理的时候有点麻烦,需要把空格处理掉。

1 cd imgs
2 for f in `find *.jpg | tr ‘ ‘ ‘_‘`
3 do
4     mv "`echo $f | tr ‘_‘ ‘ ‘`" $f
5 done

4、图片加水印

这里我想的是右上角加上日期的标签,内容可以从文件名里面截取:

水印的坐标需要根据图片的实际情况去设置,对 ImageMagick 用的不多,还没有掌握相对坐标的方式(如果有的话)。

 1 # 当前目录 $workDir/imgs
 2
 3 for f in `ls . | grep jpg`
 4 do
 5     echo "current img: "$f
 6     wm_file=${f:0:10}.jpg
 7     wm_text=${f:0:10}
 8     echo "water mark: "$wm_text
 9     convert -fill white -pointsize 96 -draw "text 2700,160‘$wm_text‘" $f $wm_file 2> ../log
10     rm $f
11 done

5、图片压缩

原始的图片太大,可以适当压缩下:

DPI 设置为400,压缩成原来的25%

1 # 当前目录 $wordDir/imgs
2
3 for f in `ls . | grep jpg`
4 do
5     convert -density 400 -geometry 25% $f ../minImgs/$f6 done
7
8 cd $workDir

6、合成 gif

这里 imageMagick 默认的一个 tick 是1/100s,这里50个 tick,就是50/100,就是半秒。可以根据自己的需求,多试几次。

1 # 当前目录 $workDir
2
3 convert -delay 50 minImg/*.jpg res.gif 2>>log

最后,上结果。

(超过10M 了 T T)

http://pan.baidu.com/s/1sjuizQP

附全部代码:

 1 #!/bin/sh
 2 if [[ $# != 1 ]]
 3 then
 4     echo "Usage: sh makeGif.sh srcDir"
 5     exit 1
 6 fi
 7
 8 SRCDIR=$1
 9 WORKDIR=gifs
10 mkdir $WORKDIR
11 mkdir -p $WORKDIR/imgs
12 mkdir -p $WORKDIR/minImgs
13
14 # 准备文件
15 cd $WORKDIR
16 cp $SRCDIR/*.jpg imgs/
17
18 cd imgs
19 for f in `find *.jpg | tr ‘ ‘ ‘_‘`
20 do
21     mv "`echo $f | tr ‘_‘ ‘ ‘`" $f
22 done
23
24 # 当前目录 $WORKDIR/imgs
25
26 for f in `ls . | grep jpg`
27 do
28     echo "current img: "$f
29     wm_file=${f:0:10}.jpg
30     wm_text=${f:0:10}
31     echo "water mark: "$wm_text
32     convert -fill white -pointsize 96 -draw "text 2700,160‘$wm_text‘" $f $wm_file 2> ../log
33     rm $f
34 done
35
36 # 当前目录 $wordDir/imgs
37
38 for f in `ls . | grep jpg`
39 do
40     convert -density 400 -geometry 25% $f ../minImgs/$f.jpg
41 done
42
43 cd ..
44
45 # 当前目录 $WORKDIR
46
47 convert -delay 50 minImgs/*.jpg res.gif 2>>log
时间: 2024-11-03 23:16:27

凝结时光:ImageMagick 制作 gif的相关文章

使用imageMagick 制作圆角矩形和图片加水印

制作圆角矩形好图片水印都是图片合成的操作 composite -gravity southeast mask175.png  src.jpg  dest.jpg -gravity southeast 指叠加位置为右下角 如果要求在正中间,参数为center 如果要求在垂直据顶部.水平居中(正北方向),参数为north imagemagick官网:http://www.imagemagick.org/script/composite.php 使用imageMagick 制作圆角矩形和图片加水印

如何在线制作gif图片?

最近想做个gif在线制作的网站,所以研究下了imagemagick和graphicsmagick制作gif图片 站已经做出来了:有兴趣的朋友可以先看看 http://www.sosogif.com/make_online.jsp 源码下载地址1:http://www.quzhuanpan.com/home/sourceList.jsp?type=6 源码下载地址2:http://www.quzhuanpan.com/download/checkResult.action?id=30&type=6

ImageMagick命令行工具

[关于ImageMagick] [命令行工具] [源码安装] [二进位发布版本] [资源配置文件] [相关下载] ImageMagick命令行工具 [ convert | identify | mogrify | composite | montage | compare | display | animate | import | conjure ] ImageMagick 包括一组命令行工具来操作图片.你大部份习惯每次编辑图片都提供图形用户接口 (GUI) 编辑图像就像GIMP和PhotoS

“我的个人志”制作过程

我的个人志: 2015.12.17记 制作过程:暂分为四个部分:第一页: 第一页:(主页君,INDEX):内容:视频,图画,新闻热点第二页:(趣点屋,SHARE-life-): 第三页:(时光廊,PHOTO-wall):内容:个人生活照,历史小故事,意境,我欣赏,自己制作第四页:(绣我秀,ABOUT-me):内容:个人简介. 初步大概制定时间:2015.10.08,整理于10.09 网页内容css框架类似于W3C的样子 404页面效果: 学习和收集资料中,资料还太少了,整个结构内容板块还没有定下

ImageMagick的使用

关于ImageMagick ImageMagick (TM) 是一个免费的创建.编辑.合成图片的软件.它可以读取.转换.写入多种格式的图片.图片切割.颜色替换.各种效果的应用,图片的旋转.组合,文本,直线, 多边形,椭圆,曲线,附加到图片伸展旋转.ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布.它遵守GPL许可协议.它 可以运行于大多数的操作系统.ImageMagick的大多数功能的使用都来源于命令行工具.通常来说,它可以支持以下程序语言: Perl, C, C+

拿到offer过后--大学最后时光最想做的那十件事

昨天--2014.10.26,历史性的一刻,激动的签了欢聚时代(YY)的前端开发offer,工作地点是我喜欢的珠海(只因为那边有我所向往的海还有自行车队,现在想想都乐开怀了,绕着海边骑单车的感觉真秒),说真的,YY真实一家不错的公司,除了工资高以外(当然因人而异,我现在相当满意现在的工资),还有一大堆的好福利,更看重的是YY的平台和发展前景真不错,对于新人而言,机会是最大的赠与--邱彬说过,所以YY很看重新人的发展也愿意去培养新人给机会给新人,所以我怕毫不犹豫的就签了YY,不想也用不着再去找其他

用Qt制作的Android独立游戏《吃药了》发布

一个多月的努力终于有了回报,我自己研究制作的独立游戏<吃药了>,终于在360应用商店上线了. 这一款游戏呢,使用的是Qt开发的.其实开发这款简单的应用之前,我经历了端游和页游,但是对手游开发了解甚少.不过今年5月20日,Qt官方发布了Qt5.3,对Android和iOS的支持变得成熟起来了,于是我打算冒一个险,使用大家从未使用过的Qt来开发手机游戏.这一个月呢,各种心酸各种泪,我曾经感受到整天10多个小时开发的疲惫:我曾经感受到家人的种种催促:我曾经感受到同事们的好言相劝:我曾经感受到自己内心

制作RHEL5 GRUB开机画面背景图

制作RHEL5 GRUB开机画面背景图 1.配置好yum仓库,在这就不举例了,可看文章: RHEL5通过光盘配置本地yum仓库及命令详解 http://crushlinux.blog.51cto.com/2663646/1274819 安装软件包ImageMagick,convert工具由ImageMagick软件包提供,可修改图片属性. [[email protected] ~]# yum install ImageMagick 2.准备一个图片作为开机画面背景图(最好是png格式的),系统要

MNC:惊艳时光的推荐!

新栏目了! MUSIC NEW COLUMN 总有一些歌令人难忘. 就像有些人惊艳了时光. 或许制作它们的人并不是那么的棒 但是,他们的手里却诞生了如此美妙的 令人难忘的那些音乐. 一.2017/07/16 Glorious morning 二.2017/07/16 Summer 三.2017/07/16 道标