/** * * 直接指定压缩后的宽高: * @param oldFile * 要进行压缩的文件 * @param width * 压缩后的宽度 * @param height * 压缩后的高度 * @return 返回压缩后的文件的全路径 */ public static File zipImageFile(File oldFile, int width, int height) { if (oldFile == null) { return null; } File newImage = null; try { /** 对服务器上的临时文件进行处理 */ Image srcFile = ImageIO.read(oldFile); /** 宽,高设定 */ BufferedImage tag = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB); tag.getGraphics().drawImage(srcFile, 0, 0, width, height, null); /** 压缩后的文件名 可以再自定义 */ newImage = oldFile; /** 压缩之后临时存放位置 */ FileOutputStream out = new FileOutputStream(newImage); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); JPEGEncodeParam jep = JPEGCodec.getDefaultJPEGEncodeParam(tag); /** 压缩质量 */ jep.setQuality(90, true); encoder.encode(tag, jep); out.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return newImage; }
时间: 2024-10-15 09:53:54