以下是一个使用Java中的BufferedImage类来减小图像大小的示例代码:
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class ImageResizeExample {
public static void main(String[] args) {
try {
// 读取原始图像
File inputFile = new File("input.jpg");
BufferedImage inputImage = ImageIO.read(inputFile);
// 定义缩放后的图像大小
int scaledWidth = 300;
int scaledHeight = 200;
// 创建一个空白的缩放后的图像
BufferedImage outputImage = new BufferedImage(scaledWidth, scaledHeight, BufferedImage.TYPE_INT_RGB);
// 获取图像上下文
Graphics2D graphics2D = outputImage.createGraphics();
// 执行缩放操作
graphics2D.drawImage(inputImage, 0, 0, scaledWidth, scaledHeight, null);
graphics2D.dispose();
// 指定缩放后的图像输出路径
File outputFile = new File("output.jpg");
// 将缩放后的图像写入输出文件
ImageIO.write(outputImage, "jpg", outputFile);
} catch (Exception e) {
e.printStackTrace();
}
}
}
上述代码使用Java的ImageIO和BufferedImage类来读取原始图像,并创建一个空白的缩放后的图像。然后,使用Graphics2D类的drawImage方法将原始图像缩放到指定的大小。最后,使用ImageIO类将缩放后的图像写入输出文件。请注意,示例代码中的输入图像和输出图像路径需要根据实际情况进行修改。