好的,以下是一个Java程序,可以将图片压缩至指定大小并保存到指定路径: ```java import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class ImageCompressor { public static void main(String[] args) { String inputPath = "input.jpg"; // 输入图片路径 String outputPath = "output.jpg"; // 输出图片路径 int compressQuality = 80; // 压缩质量,范围为0-100 int outputSize = 500; // 输出图片大小,单位为像素 try { // 读取输入图片 BufferedImage inputImage = ImageIO.read(new File(inputPath)); // 压缩图片并保存到输出路径 BufferedImage outputImage = compressImage(inputImage, outputSize, compressQuality); File outputFile = new File(outputPath); ImageIO.write(outputImage, "jpg", outputFile); System.out.println("图片已成功压缩并保存至指定路径:" + outputPath); } catch (IOException e) { e.printStackTrace(); } } private static BufferedImage compressImage(BufferedImage image, int outputSize, int quality) { int type = image.getType() == BufferedImage.TYPE_INT_RGB ? BufferedImage.TYPE_INT_ARGB : image.getType(); BufferedImage outputImage = new BufferedImage(outputSize, outputSize, type); outputImage.getGraphics().drawImage(image, 0, 0, null); outputImage.getGraphics().dispose(); return outputImage; } } ``` 这个程序使用了Java的`javax.imageio`包中的`ImageIO`类来读取和写入图片。在程序中,首先指定了输入图片的路径、输出图片的路径以及压缩质量(百分比)和输出大小(像素数)。然后,程序读取输入图片,调用`compressImage()`方法对图片进行压缩,并将压缩后的图片保存到输出路径。`compressImage()`方法使用了一个自定义的`BufferedImage`对象来存储压缩后的图片,并返回该对象。程序将压缩后的图片写入文件并输出成功信息。注意,这个程序只支持JPEG格式的图片压缩。如果需要支持其他格式的图片压缩,需要使用相应的库或方法来实现。 [2024-02-27 09:38:56 | AI写代码神器 | 552点数解答]