使用java自带的图片处理api,也可以使用(GraphicsMagick + im4j)
import java.awt.Image; import java.awt.image.BufferedImage; Image img = ImageIO.read(file.getInputStream());//读入图片 BufferedImage tag = new BufferedImage(newWidth, newHeight, BufferedImage.TYPE_INT_RGB); //缩略算法 tag.getGraphics().drawImage(img.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH), 0, 0, null); ByteArrayOutputStream output = new ByteArrayOutputStream(); ImageIO.write(tag, "jpg", output); 或 File destFile = new File("C:\\temp\\456.jpg"); FileOutputStream out = new FileOutputStream(destFile); // 输出到文件流 // 可以正常实现bmp、png、gif转jpg JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); encoder.encode(image); // JPEG编码