java如何输出jpg
使用 Java 输出 JPG 图片
Java 提供了多种方式生成或处理 JPG 图片,以下是常见的方法:
使用 BufferedImage 和 ImageIO
-
创建
BufferedImage对象并绘制内容:int width = 500; int height = 300; BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g2d = image.createGraphics(); // 绘制内容(例如填充背景和绘制文本) g2d.setColor(Color.WHITE); g2d.fillRect(0, 0, width, height); g2d.setColor(Color.BLACK); g2d.drawString("Hello, JPG!", 50, 50); g2d.dispose(); -
将
BufferedImage保存为 JPG 文件:File outputFile = new File("output.jpg"); ImageIO.write(image, "jpg", outputFile);
从其他格式转换为 JPG
如果需要将 PNG 或其他格式图片转换为 JPG:
BufferedImage originalImage = ImageIO.read(new File("input.png"));
BufferedImage jpgImage = new BufferedImage(
originalImage.getWidth(),
originalImage.getHeight(),
BufferedImage.TYPE_INT_RGB
);
jpgImage.createGraphics().drawImage(originalImage, 0, 0, null);
ImageIO.write(jpgImage, "jpg", new File("output.jpg"));
使用第三方库(如 Thumbnailator)
如果需要调整图片质量或尺寸,可以使用 Thumbnailator 库:

Thumbnails.of("input.png")
.size(640, 480)
.outputFormat("jpg")
.outputQuality(0.8) // 质量参数(0.0-1.0)
.toFile("output.jpg");
注意事项
- JPG 不支持透明背景,如需透明效果需使用 PNG。
ImageIO.write()可能抛出IOException,需捕获异常。- 默认 JPG 质量可能较高,若需压缩可通过
JPEGImageWriteParam调整参数。
示例代码(完整版)
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class JpgWriter {
public static void main(String[] args) {
try {
BufferedImage image = new BufferedImage(500, 300, BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = image.createGraphics();
g2d.setColor(Color.WHITE);
g2d.fillRect(0, 0, 500, 300);
g2d.setColor(Color.RED);
g2d.drawString("JPG Example", 100, 100);
g2d.dispose();
ImageIO.write(image, "jpg", new File("demo.jpg"));
System.out.println("JPG file created successfully.");
} catch (Exception e) {
e.printStackTrace();
}
}
}
运行后会生成名为 demo.jpg 的图片文件。






