centos7.x
仅需两条指令,环境搭好
yum install -y libjpeg* libpng* libtiff* libungif* freetype zlib
yum install ImageMagick -y
windows
安装过程注意选择convert选项
java调用
org.im4java
im4java
1.4.0
IMOperation operation = new IMOperation();
ConvertCmd cmd = new ConvertCmd();
operation.addImage(path);
operation.quality(new Double(98));
operation.addImage(path.replaceAll(“png”, “jpg”));
// cmd.setSearchPath(“D:\Program Files\ImageMagick-7.0.8-Q16”); //Windows需要设置,Linux不需要
cmd.run(operation);
在尝试png转jpg的过程中使用:
1、java setQuality(质量最差)
BufferedImage tag = new BufferedImage(
bi.getWidth(), bi.getHeight()
,BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(bi, 0, 0, bi.getWidth(), bi.getHeight(), null);
JPEGEncodeParam jep = JPEGCodec.getDefaultJPEGEncodeParam(tag);
jep.setQuality(1f, true);
ImageIO.write(tag,“jpg”,new File(path));
2、使用python脚本执行(质量次之)
import os
import cv2
import sys
import numpy as np
#处理中文路径错误
def cv_imread(filePath):
cv_img=cv2.imdecode(np.fromfile(filePath,dtype=np.uint8),-1)
return cv_img
path = “”
for filename in os.listdir(path):
if os.path.splitext(filename)[1] == ‘.jpg’:
img = cv_imread(path + filename)
print(filename.replace(".png",".jpg"))
newfilename = filename.replace(".png",".jpg")
# cv2.imshow(“Image”,img)
# cv2.waitKey(0)
cv2.imwrite(path + newfilename,img)
3.使用imageMagick质量最好