在不影响视觉效果的前提下,压缩图片大小,节省空间
import javax.imageio.ImageIO;
import org.apache.commons.io.FilenameUtils;
import com.mortennobel.imagescaling.DimensionConstrain;
import com.mortennobel.imagescaling.ResampleOp;
/**
* 原尺寸大小压缩
* @param srcFile
* @param destFile
* @throws IOException
*/
public double[] scale(File srcFile, File destFile) throws IOException {
BufferedImage image = null;
if (srcFile != null && srcFile.isFile() && srcFile.exists()) {
image = ImageIO.read(srcFile);
}
ResampleOp resampleOp = new ResampleOp(DimensionConstrain.createMaxDimension((int)getWidth(image), (int)getHeight(image), false));
BufferedImage tag = resampleOp.filter(image, null);
String ext = FilenameUtils.getExtension(destFile.getName()).toLowerCase();
if (image != null && ext != null && !"".equals(ext) && destFile != null) {
ImageIO.write(tag, ext, destFile);
}
double[] zoomSize = new double[2];
zoomSize[0] = getWidth(tag);
zoomSize[1] = getHeight(tag);
return zoomSize;
}