分页: 1 / 1

linux下如果批量缩图?

发表于 : 2007-02-26 18:06
xain
怎样在linux下批量修改一个目录中所有图片的大小?
如将~/pics/ 目录下的所有图片 按正常比例缩小到宽640(高按原来比例计算).

发表于 : 2007-02-26 21:09
vcc
试试imagemagick

发表于 : 2007-02-27 0:18
eexpress
convert -size 32这样的。都是imagemagick里面的小软件。高效率。安装了就有html帮助和实例。

发表于 : 2007-02-27 9:53
Tenyears
mage MagicK 是一个强大的图象处理工具包。它提供了几个非常方便的命令行命令: display, animate,import, montage,mogrify,identify等,可以进行图象的显示,缩放,旋转,调色,加框,加注释等,还能制作GIF动画,图象索引,能自动生成图象.

1. 制作索引图和动画

!/bin/bash
montage -bordercolor red -borderwidth 3 -label "%f" -tile 5x3 *.JPG montage.jpg
mogrify -format gif *.JPG
display montage.jpg
animate *.JPG

2. 缩放 convert -sample 80x40 input.jpg output.jpg #注意:缩放后图像保持原来的长宽比例 convert -sample 25%x25% input.jpg output.jpg
3. 为当前目录的所有图像生成缩略图

for img in `ls *.jpg`
do
convert -sample 25%x25% $img thumb-$img
done

4. 获取文件信息 libtiff

tiffinfo filename.tiff
pnginfo filename.png

5. 可以使用 ImageMagick 的 identify

identify -verbose sample.png
identify -format "%wx%h" sample.png

6. 旋转图像

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.jpg
convert -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/blue
convert -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

发表于 : 2007-02-28 19:29
xain
谢谢各位,早就听说过Image MagicK 的大名了,看来要用用。

发表于 : 2007-03-01 1:34
Jimmy.Zhou
mark :D

发表于 : 2007-03-24 14:20
eagle5678
看起来不错,试试

发表于 : 2007-11-03 13:19
mkii
Tenyears 写了:
mage MagicK 是一个强大的图象处理工具包。它提供了几个非常方便的命令行命令: display, animate,import, montage,mogrify,identify等,可以进行图象的显示,缩放,旋转,调色,加框,加注释等,还能制作GIF动画,图象索引,能自动生成图象.

1. 制作索引图和动画

!/bin/bash
montage -bordercolor red -borderwidth 3 -label "%f" -tile 5x3 *.JPG montage.jpg
mogrify -format gif *.JPG
display montage.jpg
animate *.JPG

2. 缩放 convert -sample 80x40 input.jpg output.jpg #注意:缩放后图像保持原来的长宽比例 convert -sample 25%x25% input.jpg output.jpg
3. 为当前目录的所有图像生成缩略图

for img in `ls *.jpg`
do
convert -sample 25%x25% $img thumb-$img
done

4. 获取文件信息 libtiff

tiffinfo filename.tiff
pnginfo filename.png

5. 可以使用 ImageMagick 的 identify

identify -verbose sample.png
identify -format "%wx%h" sample.png

6. 旋转图像

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.jpg
convert -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/blue
convert -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
文件名中有空格就会出现稀奇古怪的错误

发表于 : 2007-11-03 13:54
dbzhang800
晕,你就不会给它们加上引号吗 :D

发表于 : 2007-11-03 14:24
mkii
如何批量加引号?

发表于 : 2007-11-05 13:51
zhh01pfg
楼上的兄弟,难道你不用通配符的么?

发表于 : 2007-11-05 14:01
eexpress
for i in *.jpg; do convert """$i""" -scale 90 """${i%jpg}"""-90点宽度.jpg; done

发表于 : 2007-11-05 14:44
tomguy
ubuntu 中默认的图片浏览工具就可以完成你的任务。

发表于 : 2007-11-06 8:05
mkii
eexpress 写了:for i in *.jpg; do convert """$i""" -scale 90 """${i%jpg}"""-90点宽度.jpg; done
谢谢,学到东西了