薛定谔的猿

薛定谔的猿

graphicsmagick安装

8
2024-05-26

安装部署

下载包

准备工作

  • Mac 或者 Linux 系统安装 GM 之前,需要先安装 libjpeg 和 libpng 这两个库,否则命令无法处理 jpg 和 png 的文件,会出现如下报错:No decode delegate for this image format

  • windows gm自身支持png和jpg,不需要安装额外软件。直接下载完点击安装,一直next就行了,会自动配置环境变量,安装成功即可使用,非常简单!

Linux源码包安装
1、yum install -y gcc make
2、yum install -y libpng-devel libjpeg-devel libtiff-devel libwebp-devel jasper-devel freetype-devel libtool-ltdl-devel*

3、tar -zxvf GraphicsMagick-1.3.38.tar.gz
4、cd GraphicsMagick-1.3.38

5、./configure --prefix=/app/GraphicsMagick-x(该目录为自定义安装目录)
5、./configure --prefix=/home/app/graphicsMagick --with-magick=wand/GraphicsMagickWand-config --enable-shared
6、make && make install

7、配置环境变量(.bash_profile)
export GMAGICK_HOME="/app/GraphicsMagick-x"
export PATH="$GMAGICK_HOME/bin:$PATH"
export LD_LIBRARY_PATH="$GMAGICK_HOME/lib/"
export OMP_NUM_THREADS=6

8、测试
gm -version  查看安装信息

linux yum安装

1、安装依赖库(非root用户用sudo)
	sudo yum install -y gcc make 
2、安装软件
	sudo yum install GraphicsMagick-devel
3、配置动态链接库(非root用户)
	3.1、查看动态库位置
		sudo find / -name "libGraphicsMagick*"
		示例结果:
		  /usr/lib64/libGraphicsMagick.so
		  /usr/lib64/libGraphicsMagick-Q16.so.3
		  /usr/lib64/libGraphicsMagick-Q16.so.3.24.0
		  /usr/lib64/libGraphicsMagickWand-Q16.so.2
		  /usr/lib64/libGraphicsMagickWand-Q16.so.2.9.7
		  /usr/lib64/libGraphicsMagickWand.so
		根据结果可以知道动态库目录 => /usr/lib64
	3.2、添加永久配置
		编辑: sudo vim ~/.bashrc
		添加:
			 # gm so
			 export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
		生效: source ~/.bashrc
4、查看结果
	gm -version
	有结果证明安装成功

Mac安装

  • 下载两个库安装包
libjpeg:  http://www.ijg.org/files/jpegsrc.v9b.tar.gz
libpng:   ftp://ftp-osl.osuosl.org/pub/libpng/src/archive/gz/libpng16/libpng-1.6.29.tar.gz
libwebp:  http://downloads.webmproject.org/releases/webp/libwebp-1.2.1.tar.gz

  • 两个库的安装步骤是一样的,以 libjpeg 举例
tar -xzvf jpegsrc.v9b.tar.gz
cd jpeg-9b
./configure
make && make install

  • 后续和Linux安装一致
使用实例
  • 图片压缩
    gm convert -sample 1920x1080 1-1.png 1-5.jpg
    1-1.png => 目标文件
    1-5.jpg => 结果文件
    1920x1080 => 压缩尺寸

  • 图片水印
    gm convert -gravity southeast -font ArialBold -fill white -pointsize 30 -draw "text 10,10 'test word'" 1-1.png 1-6.jpg

  • 水印详解
    https://juejin.cn/post/6970206710455599140

  • 0