ImageMagic 安装

ImageMagic/GraphicMagic 使用for java(im4java)

1. 环境配置

一键安装方式

1
2
3
4
5
6
7
8
9
10
11
12
yum install libjpeg-devel
yum install libpng-devel


本地环境搭建
sudo brew install jpeg
sudo brew install libpng
sudo brew install GraphicsMagick

gm convert input.jpg -thumbnail '100x100' output_1.jpg

gm convert -crop 640x960+0+0 test.jpg output.jpg

源码安装方式

  • 安装jpeg 包 wget ftp://223.202.54.10/pub/web/php/libjpeg-6b.tar.gz
  • 安装webp 包 wget http://www.imagemagick.org/download/delegates/libwebp-0.5.1.tar.gz
  • 安装png 包 wget http://www.imagemagick.org/download/delegates/libpng-1.6.24.tar.gz
  • 安装 graphicsmagick wget http://nchc.dl.sourceforge.net/project/graphicsmagick/graphicsmagick/1.3.22/GraphicsMagick-1.3.22.tar.gz
  • 安装imagemagick wget http://www.imagemagick.org/download/ImageMagick.tar.gz
    • 安装命令 sudo ./configure; sudo make; sudo make install

几个命令

  • make distclean 清除上次make的东西

  • 裁图命令 convert test.jpg -crop 640x960+0+0 output.jpg

问题修复

  • imagemagick 依然无法读取png图片
  • 执行 convert 提示linux shared libraries 不包含某个库 –》临时解决方案: export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

    一劳永逸的方案:https://my.oschina.net/guanyue/blog/220264

    vi /etc/ld.so.conf
    在这个文件里加入:/usr/local/lib 来指明共享库的搜索位置
    然后再执行/sbin/ldconf
    

2. 常用命令汇总

图片操作方式

裁图 + 旋转 + 缩放 + 缩略图 + 翻转(flip) + 镜像(flop) + 水印(composite) + 边框(border)


裁图 convert test.jpg -crop 640x960+0+0 output.jpg

旋转 convert test.jpg -rotate 90 output.jpg

缩放 convert test.jpg -resize 200x200 output.jpg

强制宽高缩放 convert test.jpg -resize 200x200! output.jpg

缩略图 convert -thumbnail 200x300 test.jpg thumb.jpg


翻转

上下翻转:

convert -flip foo.png bar.png

左右翻转:

convert -flop foo.png bar.png


图片合成方式

水印 :
composite -gravity northwest -dissolve 100 -geometry +0+0 water.png temp.jpg out.jpg

其中 gravity 表示起始位置
dissolve 表示水印图片的透明度, 100 表示100%透明
water.png为水印图, temp.jpg 为背景图, out.jpg 为输出图片

方法二:
convert -gravity southeast -geometry +5+10 -composite test.jpg water.png out.jpg

water.png作为水印图片,合在test.jpg的东南 (5,10)坐标处,输出文件为 out.jpg


添加边框 :

convert -border 6x6 -bordercolor "#ffffff" test.jpg bord.jpg

去除边框 :

convert -thumbnail 200x300 test.jpg thumb.jpg

II. 其他

个人博客: 一灰灰Blog

基于hexo + github pages搭建的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

声明

尽信书则不如,已上内容,纯属一家之言,因本人能力一般,见识有限,如发现bug或者有更好的建议,随时欢迎批评指正

扫描关注

QrCode