**前篇文章中考虑用nginx压缩,但是觉得很不靠谱,为什么呢?因为有部分图片会自动旋转:绝大部分图片是正常的,但是有部分图片缩略后自动旋转,我也是醉了,考虑到后期也不好修改,查了一下资料决定用淘宝的插件:GraphicMagick **
下面我要把这张让我醉了的图片:
如果以上图片地址不可用了,可以直接用如下的这张图片:
![](https://img.haomeiwen.com/i437049/78f564cc5936007e.jpeg)
压缩了以后:
![](https://img.haomeiwen.com/i437049/8ab7df8093a38a3a.png)
尼玛这是明显翻转了90度,这是几个意思,有的图片会翻转,有的不会,我也没有观察出来这张和其他有什么必然的区别,哎,nginx的 image filter插件,也不晓得如何改,所以直接换了:
谈谈我换的经历:
我在google中搜索 [Java 缩略图]
这篇文章直接操作一遍,依然如此
我又找了几个:用到jdk的压缩的都会有这个问题:不晓得其他人是否遇到过,还是我使用方式有问题,求高手指教
import java.io.*;
import java.util.Date;
import java.awt.*;
import java.awt.image.*;
import javax.imageio.ImageIO;
import com.sun.image.codec.jpeg.*;
所以决定换方案: 用GraphicMagick,据说淘宝网就是用这个:这里是淘宝的说明
另外这篇文章关于缩略图的方案进行了很好的说明
下面开始GraphicMagick的安装 官网地址
我安装参考了这两篇文章,重点是第一篇:
1、GraphicMagick的安装
2、安装说明
首先下载GraphicMagick的安装包
tar -zxvf GraphicsMagick-1.3.25.tar.gz
cd GraphicsMagick-1.3.25
执行./configure
最后出现如下显示:
![](https://img.haomeiwen.com/i437049/8e048bfb2a50711c.png)
注意: 默认的我红色箭头指向是 no的
如果需要支持png jpeg freetype 需要先安装这三个插件,好像GraphicMagick后来支持了png,需要单独配置jpeg了。这里我三个都进行配置一下:
首先下载这三个包:
![](https://img.haomeiwen.com/i437049/e875038ebbca463e.png)
注意这个 jpegsrc.v9b.tar.gz最后下载这个,我下载过6b的好像不行,估计我安装6b的时候出现了问题
1、jpeg安装配置:
tar -zxvf jpegsrc.v9b.tar.gz
cd jpeg-9b
./configure
make
make install
ln -s /usr/local/lib/libjpeg* /lib/
ln -s /usr/local/lib/libjpeg* /lib64/
注意ln之前可以看下/usr/local/lib的位置是否包含对应的链接库
2、安装png
tar -zxvf libpng-1.6.26.tar.gz
cd libpng-1.6.26
./configure
make
make install
ln -s /usr/local/lib/libpng* /lib/
ln -s /usr/local/lib/libpng* /lib64/
3、安装freetype
tar -zxvf freetype-2.4.1.tar.gz
cd freetype-2.4.1
./configure
make
make install
ln -s /usr/local/lib/freetype* /lib/
ln -s /usr/local/lib/freetype* /lib64/
vim ~/.bashrc配置环境变量:
![](https://img.haomeiwen.com/i437049/6effdfc643258a5a.png)
source ~/.bashrc
然后 执行 gm可以看到生效了
![](https://img.haomeiwen.com/i437049/d56dfb5c7ecf1f0b.png)
这个时候迫不及待的压缩一下:
执行如下命令:
gm convert ff.jpeg -resize 200x200 200.jpg
执行后的结果:
![](https://img.haomeiwen.com/i437049/c9e1fbbd0a9f80e5.png)
这张终于没有翻转了,下一步用im4Java对GraphicMagick进行操作即可
网友评论