【问题标题】:Screen capture using codes使用代码截屏
【发布时间】:2013-12-11 17:03:20
【问题描述】:

我已将我的代码从一个方法(按钮按下操作)转移到一个新类。它的功能是捕获屏幕图像(很像打印屏幕)并将其保存在计算机的某个位置。 (在这种情况下,驱动器 c)它显示以下错误消息:

java.io.FileNotFoundException: c:\z\1.jpg(系统找不到 指定路径)

public class printScreen{

    public static void main(String args[]) throws AWTException, IOException
    {
        Robot robot = new Robot();

        Dimension a = Toolkit.getDefaultToolkit().getScreenSize();

        Rectangle rect = new Rectangle(a);

        BufferedImage img = robot.createScreenCapture(rect);

        ImageIO.write(img, "jpg", new File("c:/z/1.jpg"));
        ImageIO.write(img, "bmp", new File("c:/z/2.bmp"));
        ImageIO.write(img, "png", new File("c:/z/3.png"));
    }
}

有什么想法吗?所有帮助将不胜感激!谢谢!

【问题讨论】:

  • 尝试使用大写的C
  • 只要确定一下,在 C 目录下面有一个 文件夹“z”,对吗?

标签: java bufferedimage javax.imageio printscreen


【解决方案1】:
File f = new File("c:/z/1.jpg")
f.createNewFile();
ImageIO.write(img, "jpg", f);

【讨论】:

  • ImageIO#write 如果文件不存在则创建该文件,因此此解决方案无法解决问题。但是,如果文件的父目录不存在,该方法将不会创建它们,这很可能是这种情况下的问题。
猜你喜欢
  • 2012-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-10
  • 2014-06-18
  • 2011-01-04
  • 2019-04-21
相关资源
最近更新 更多