有没有办法使用 Java 截取屏幕截图并将其保存为某种图像?

2024-04-20

正如标题所示,很简单:可以只使用 Java 命令来截屏并保存吗?或者,我是否需要使用操作系统特定的程序来截取屏幕截图,然后将其从剪贴板上抓取?


不管你信不信,你实际上可以使用java.awt.Robot http://java.sun.com/javase/6/docs/api/java/awt/Robot.html#createScreenCapture(java.awt.Rectangle)“创建包含从屏幕读取的像素的图像。”然后您可以将该图像写入磁盘上的文件。

我刚刚尝试了一下,整个事情的结果是这样的:

Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
BufferedImage capture = new Robot().createScreenCapture(screenRect);
ImageIO.write(capture, "bmp", new File(args[0]));

注意:这只会捕获主监视器。看图形配置 http://java.sun.com/javase/6/docs/api/java/awt/GraphicsConfiguration.html用于多显示器支持。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法使用 Java 截取屏幕截图并将其保存为某种图像? 的相关文章

随机推荐

  • 使用 Java 查找句子中的确切单词

    我正在编写一个代码来识别文本中的国家 地区名称 我正在使用一本包含国家名称的字典India America Sri Lanka 我目前正在使用text contains key with key从字典中 然而 即使对于像这样的字符串 这也会
  • 在 C 语言中,stdout 缓冲区的大小是多少?

    今天我了解到 stdout 在设置为终端时是行缓冲的 并且在不同情况下是缓冲的 因此 在正常情况下 如果我使用 printf 而不终止 n 只有当缓冲区已满时 它才会打印在屏幕上 如何获得这个缓冲区的大小 它有多大 实际大小由各个实现定义
  • “SolidBrush”参数类型对于格式化属性“Foreground”无效。参数名称:值

    我尝试在调用方法中更改颜色文本 RichTextBox wpf 但我遇到了一些麻烦 我的麻烦是 SolidBrush 参数类型对于格式化属性 Foreground 无效 参数名称 值 My code MethodInvoker action
  • 如何从 2 个数组创建地图?

    我有一个字符串数组和一个整数数组 如何使用第一个作为键 第二个作为值来创建地图 val keys arrayOf butter milk apples val values arrayOf 5 10 42 val map Map
  • 滚动“返回顶部”链接时显示/隐藏 div

    我无法让我的 转到顶部 id arrow updiv 在打开时消失 例如页面顶部 在页面顶部我得到了 所以我想要arrow up div to visible show slow 当不在页面顶部时 var tmp window height
  • Spring中如何从WebRequest获取请求的URI?

    我正在使用以下方法处理 REST 异常 ControllerAdvice and ResponseEntityExceptionHandler在 Spring Rest Web 服务中 到目前为止 一切都工作正常 直到我决定添加URI路径
  • php 的内容长度标头被覆盖!

    我试图弄清楚为什么 php 的 Content Length 标头被覆盖 这是演示 php 获取标头的请求 curl I http someserver com demo php HTTP 1 1 200 OK Date Tue 19 Ju
  • 如何快速将一个float打包为4个字节?

    我一直在寻找一种在 WebGL 纹理上存储浮动的方法 我找到了一些解决方案 http aras p info blog 2009 07 30 encoding floats to rgba the final 在互联网上 但那些只处理 0
  • 在Angular2中,使用zone.run与changeDecotor.markForCheck()的优点

    我想知道使用其中一种比另一种有什么优点或缺点 constructor private app ApplicationRef private ref ChangeDetectorRef this ref markForCheck OR thi
  • 获取列名,其中值是 pandas 数据框中的内容

    我试图在每个时间戳找到数据帧中的列名称 其值与同一时间戳的时间序列中的列名称相匹配 这是我的数据框 gt gt gt df col5 col4 col3 col2 col1 1979 01 01 00 00 00 1181 220328 9
  • 使用 Tabula 从 PDF 中提取表格

    我遇到了一个名为 Tabula 的很棒的图书馆 它几乎成功了 不幸的是 第一页上有很多无用的区域 我不希望 Tabula 提取这些区域 根据文档 您可以指定要从中提取的页面区域 但是 无用区域仅位于 PDF 文件的第一页 因此 对于所有后续
  • 使用纯 JavaScript 从另一个(php)文件获取 JSON?

    我是 JavaScript 新手 我有一个 php 文件 其中列出了目录中的所有文件 我想调用该文件并仅使用 javascript 获取它回显的 json 数组 我知道 jquery 可以做到 但这是我唯一需要做的事情 它不值得学习 jqu
  • 无法使用 XCode/Obj-C 编译 Cocoapods – “Pods-prefix.pch.dia:没有这样的文件或目录”

    我正在使用 XCode 4 5 1 和 iOS 6 0 基础 SDK 这是我收到的错误 i686 apple darwin11 llvm gcc 4 2 Users fahim Library Developer Xcode Derived
  • 如何使用免费 Monad 的 Church 编码?

    我一直在使用Free数据类型在Control Monad Free来自free包裹 现在我正在尝试将其转换为使用F in Control Monad Free Church但不知道如何映射功能 例如 一个简单的模式匹配函数使用Free看起来
  • 成帧器运动,在 x 动画时延迟旋转 Y

    我正在使用 Framer motion 并且正在尝试找到一种方法来延迟旋转 Y 的动画 同时 x 动画到特定位置然后启动旋转 Y 这在 Framer 运动中可能吗 例子 const variants flip rotateY 0 x 20
  • 将元组列表转换为列表列表 Haskell

    I have m n p q r s 我怎样才能将它转换为 m n p q r s 谁能帮帮我吗 谢谢 编写一个函数将一对转换为列表 pairToList a a gt a pairToList x y x y 那么你只需要map pair
  • Python-双y轴图表,对齐零

    我正在尝试创建一个带有双 x 轴的水平条形图 2 个轴的比例非常不同 一组从 5 到 15 正值和负值 另一组更像是 100 到 500 所有正值 当我绘制此图时 我想对齐两个轴 以便零显示在同一位置 并且只有负值位于其左侧 目前 包含所有
  • 全屏大屏幕,下方有内容

    我正在使用引导框架并使用 jumbotron 功能来创建我的标题 我有一个固定的导航 并希望大屏幕在缩放时具有屏幕的完整高度和宽度 我在大屏幕下方有内容 我希望可以像常规一样滚动 就在有人访问其全屏大屏幕时 html div class j
  • RxJs 很好的教程 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试学习ReactiveX 我花了差不多一整天的时间 还是没能正确理解 我尝试查看官方文档 但很
  • 有没有办法使用 Java 截取屏幕截图并将其保存为某种图像?

    正如标题所示 很简单 可以只使用 Java 命令来截屏并保存吗 或者 我是否需要使用操作系统特定的程序来截取屏幕截图 然后将其从剪贴板上抓取 不管你信不信 你实际上可以使用java awt Robot http java sun com j