Linux系统下用一条命令批量修改图片尺寸作者: 【转载】 天新网 2009年03月24日 18:45
经常拍照片经常会需要把大量的照片尺寸缩小,以方便网上传输或者存储。
下面介绍一种简单的方法把大量照片变到指定尺寸
find ./ -name '*.jpg' -exec convert -resize 600x480 {} {} ;
注意空格和最后的分号。转换后会覆盖源文件。这里用到两个命令。
这条命令的意思是找到当前目录所有jpg文件。执行conver -resize 600x480 文件名 文件名。find会把每个文件执行一次convert命令。使用find命令有时比写个脚本还要方便。
|
用DC拍出来的很多照片尺寸都很大,有时候我们需要缩小一下,最近google了一圈,发现了一些有用的命令,写了一个小脚本,用来参考我使用的工具是强大的p_w_picpathmagick 如果你没有安装的话可以通过新利得安装, #sudo apt-get install p_w_picpathmagick 需要用到的命令就是convert 我写的脚本用到了两个参数,resize和font resize是用来缩小图片的, 用法就是 -resize 图片大小 例如 -resize 50%x50% 这个参数就是把原图的长和宽都缩小50% 我用的是缩小图片尺寸来压缩图片的大小,当然你也可以通过改变图片质量来达到压缩的目的。 顾名思义,改变图片质量的参数就是-quality -quality 70 这个参数就是说明要把图片的质量压缩到70%(基本上看不出和原图的区别) 添加字体水印 参数就是 -font 字体名称 -fill 字体颜色 -pointsize 字体大小 -draw "text 字体开始坐标 "文字内容"" 具体的大家可以查询一下man,解释的非常详细, 最后看看我写出来的简单脚本。 # p_w_picpathzoom.sh for img in `ls *.JPG`; do convert -resize 50%x50% convert -fonthelvetica -fill white -pointsize 36 -draw ’text 10,50 "Pictures ByPDAsk.net "’ $img Resized-$img; done 这个脚本实现的功能是把目录下面的所有JPG后缀的图片全部按照50%的比例缩小,并且在左上角用helvetica字体印上水印。处理过的图片命名为”Resized-原文件名” 打开gedit 或者leafpad,把脚本内容输入进去,保存为p_w_picpathzoom.sh,我保存在了桌面上 然后 #chmod +x ~/Desktop/p_w_picpathzoom.sh 为了方便调用,我就把这个脚本copy到了/bin目录,这样以来我以后在任何一个图片文件夹里面都可以使用这个命令了。 #sudo cp ~/Desktop/p_w_picpathzoom.sh /bin |
具体方法如下:
sudo apt-get install p_w_picpathmagick
创建一个 img.sh 文件,内容为#/bin/shfor img in`ls nini-pic/*`domkdir sm-nini-picconvert -rotate 270 -resize 30%x30%$img sm-$imgdone
# sh img.sh (运行 img.sh)
这里nini-pic 是我原文件所在目录,sm-nini-pic新文件的存放目录。 convert -rotate 270 -resize 30%x30% 旋转270° 分辨率缩小为原来的30%。下面是Ubuntu中文论坛找到的关于Image MagicK的一些资料
Image MagicK 是一个强大的图象处理工具包。它提供了几个非常方便的命令行命令: display, animate,import, montage,mogrify,identify等,可以进行图象的显示,缩放,旋转,调色,加框,加注释等,还能制作GIF动画,图象索引,能自动生 成图象.
1. 制作索引图和动画
!/bin/bashmontage -bordercolorred-borderwidth 3 -label"%f"-tile 5x3 *.JPG montage.jpgmogrify -format gif *.JPGdisplay montage.jpganimate *.JPG
2. 缩放 convert -sample 80×40 input.jpg output.jpg #注意:缩放后图像保持原来的长宽比例 convert -sample 25%x25% input.jpg output.jpg
3. 为当前目录的所有图像生成缩略图for img in`ls*.jpg`doconvert -sample 25%x25%$img thumb-$imgdone
4. 获取文件信息 libtiff
tiffinfo filename.tiff
pnginfo filename.png5. 可以使用 ImageMagick 的 identify
identify -verbose sample.png
identify -format “%wx%h” sample.png6. 旋转图像
convert -rotate 90 input.jpg output.jpg
7. 更改文件类型
convert input.jpg output.png
8. 为图像增加注释文字
convert -font helvetica -fill white -pointsize 36 -draw'text 10,50 "Floriade 2002, Canberra, Australia"' floriade.jpg comment.jpgconvert -font fonts/1900805.ttf -fill white -pointsize 36 -draw'text 10,475 "stillhq.com"' floriade.jpg stillhq.jpg
9. 特殊效果
convert -charcoal 2 input.jpg output.jpg #炭笔
convert -colorize 255 input.jpg output.jpg #着色 可以指定三种颜色 red/green/blueconvert -implode 4 input.jpg output.jpg #内爆效果convert -solarize 42 input.jpg output.jpg #曝光,模拟胶片曝光convert -spread 5 input.jpg output.jpg #随机移动,参数是位移大小10. 一次执行多个操作
convert -sample 25%x25% -spread 4 -charcoal 4 input.jpg output.jpg