欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux下修改图片格式和大小 博客分类: Linux  

程序员文章站 2024-02-10 14:00:40
...

        因为一直用的是ubuntu系统,所以习惯了用终端来操作一些东西,最近发现在linux上的修改图片的工具非常好用,在这里给大家分享一下。

这个工具就是ImageMagick;你会发现他非常 的好用,只需要在终端输入些命令就可以完成对图片的修改。

 

      ImageMagick是一套功能强大、稳定而且免费的工具集和开发包,可以用来读、写和处理超过185种基本格式的图片文件,包括流行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等格式。利用 ImageMagick 你可以根据web应用程序的需要动态生成图片, 还可以对一个(或一组)图片进行改变大小、旋转、锐化、减色或增加特效等操作,并将操作的结果以相同格式或其它格式保存。

 

下面来说一下他的安装:

 

1. wget http://www.imagemagick.org/download/ImageMagick.tar.gz
2.tar zxvf ImageMagick.tar.gz
3. cd ImageMagick-6.8.9-7
4. ./configure --prefix=/usr/local/ImageMagick/ --enable-lzw --with-modules --with-quantum-depth=8?--enable-shared --disable-openmp
5. make && make install

 安装成功后,可以运行一下 convert -version 命令来检测一下是否安装成功。

 

 

接下来就是 convert 的一些操作了。

1, 图片的格式转化,比如把 foo.jpg 转化为 foo.png:

 

convert foo.jpg foo.png

 2,如果要想把目录下所有的jpg文件都转化为gif,我们可借助于shell的强大功能:

 

 

find ./ -name "*.jpg" -exec convert {} {}.gif \;

 3,convert还可以把多张照片转化成pdf格式:

 

 

convert *.jpg foo.pdf

 4,比如我们要为一个普通大小的图片做一个缩略图,我们可以这样:

 

 

convert -resize 100x100 foo.jpg thumbnail.jpg

5,你也可以用百分比,这样显的更为直观:

 

 

convert -resize 50%x50% foo.jpg thumbnail.jpg

6,convert会自动地考虑在缩放图像大小时图像的高宽的比例,也就是说着新的图像的高宽比与原图相同。我们还可以批量生成缩略图:

 

 

mogrify -sample 80x60 *.jpg

注意: 这个命令会覆盖你原来的图片

 

7,加边框:

convert -mattecolor "#000000" -frame 60x60 image.jpg image_1.png

其中,"#000000"是边框的颜色,边框的大小为60x60 

8,在图片上加文字:

convert -fill green -pointsize 40 -draw 'text 10,50 "charry.org"' foo.png bar.png

 上面的命令在距离图片的左上角10x50的位置,用绿色的字写下charry.org,如果你要指定别的字体,可以用-font参数.

9.模糊:

高斯模糊:

 

convert -blur 80 foo.jpg foo.png

 

-blur参数还可以这样-blur 80x5。后面的那个5表示的是Sigma的值,这个是图像术语,我也不太清楚,总之,它的值对模糊的效果起关键的作用。 

10.突起效果,用-raise来创建凸边:

 

convert -raise 5x5 foo.png bar.png

 执行后,你会看到,照片的四周会一个5x5的边,如果你要一个凹下去的边,把-raise改为+raise就可以了。其实凸边和凹边看起来区别并不是很大。

 

(最近常用的我大概写了这些,其他的功能可以去看相关 文档)