java - 如何减小java中截图图像的大小

标签 java swing awtrobot

我正在 Java 中创建一个应用程序,使用以下代码按时间间隔捕获屏幕截图:

Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
BufferedImage capture = new Robot().createScreenCapture(screenRect);
ImageIO.write(capture, "bmp",new File("img/screenshot.png"));

我得到了输出,但问题是图像的大小接近 3MB。如何在捕获图像时减小图像的大小?

最佳答案

将 bmp 更改为 png 或 jpg

ImageIO.write(capture, "png",new File("img/screenshot.png"));

来自 http://docs.oracle.com/javase/tutorial/2d/images/saveimage.html 的文档

The ImageIO.write method calls the code that implements PNG writing a “PNG writer plug-in”. >The term plug-in is used since Image I/O is extensible and can support a wide range of formats.

But the following standard image format plugins : JPEG, PNG, GIF, BMP and WBMP are always be present.

关于java - 如何减小java中截图图像的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23010237/

相关文章:

java - 如何在 eclipse Luna 中调试 JBoss 7.1 应用程序

java - 小程序中不显示按钮

java - 从结果中消除零 (Java)

java - 如何关闭由 java swing 应用程序创建的所有进程?

java - 将您的应用程序与谷歌语音集成

java - Java 8 `Stream` 可以在您不要求的情况下并行吗?

java - 如何在java swing中创建剧透效果?

Java 机器人不工作

java - 如何注册MousemotionListener

java - 如何将 BufferedImage 传递到 Filedialog 以在 Java 中保存?