import java.awt.AWTException;
import java.awt.Desktop;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.filechooser.FileSystemView;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
public class Snapshot {
private static Toolkit toolkit;
private static Robot robot;
private static BufferedImage bufferedImage = null;
public static void shot() throws AWTException, IOException {
toolkit = Toolkit.getDefaultToolkit();
robot = new Robot();
Dimension screenDimension = toolkit.getScreenSize();
bufferedImage = robot.createScreenCapture(new Rectangle(screenDimension));
String path = String.valueOf(FileSystemView.getFileSystemView().getHomeDirectory());
//System.out.println(path);
SimpleDateFormat sdf = new SimpleDateFormat("yyyymmddHHmmss");
String name = sdf.format(new Date());
name = name+".jpg";
File file = new File(path +"\\"+ name);
OutputStream output = new FileOutputStream(file);
bufferedImage = bufferedImage.getSubimage(0, 0, screenDimension.width,screenDimension.height);
JPEGEncodeParam param = JPEGCodec.getDefaultJPEGEncodeParam(bufferedImage);
param.setQuality(0.7F, false);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(output, param);
encoder.encode(bufferedImage);
encoder.getOutputStream().close();
Desktop.getDesktop().open(new File(path));
Runtime.getRuntime().exec("cmd /c " + path + name);
}
public static void main(String[] args) throws AWTException, IOException {
shot();
}
}
分享到:
相关推荐
可能会有一个选项让用户保存截图到本地文件,这就需要用到文件I/O操作,如File、FileOutputStream等,以及ImageIO类来读写图片文件。 8. **布局管理器**: Swing使用不同的布局管理器(如FlowLayout、GridLayout...
在截屏后,我们需要将获取到的BufferedImage对象保存为图片文件,如JPEG或PNG格式,ImageIO的`ImageIO.write()`方法可以完成这个任务。 3. **文件操作**:为了保存截图,需要了解Java的文件操作,包括创建文件、...
- `A8E1XMP9K%M`S~0{4LBJEQQ.jpg`和`RBM%%V[6P]JQ%_W~Y11~0J0.png`可能是已经截取的图片文件,它们的命名可能经过了加密或混淆处理。 - 文件读写操作需要使用`FileInputStream`和`FileOutputStream`,读取图片数据...
3. **另存为**:用户可以将截图保存到本地文件系统,这需要文件对话框让用户选择保存路径,并使用Java的`FileOutputStream`或`ImageIO`类来写入图像文件,支持常见的图片格式如JPEG、PNG等。 4. **退出**:关闭应用...
#### 一、Java截屏功能实现原理 在Java中,实现屏幕截图主要依赖于`java.awt.Robot`类,它提供了与底层操作系统交互的能力,能够模拟键盘和鼠标事件,同时也支持屏幕图像的捕获。通过`Robot`类的`...
项目中处理中文乱码的方式可能包括设置合适的字符集(如UTF-8)、确保HTML文件或字符串中含有正确的`<meta>`标签来指定字符编码,以及在生成图片时指定字体。这通常涉及到对 Flying Saucer 和 IText 的配置。 6. *...
在 Java 中生成图片缩略图是一项常见的需求,这通常涉及到图像处理技术。以下是一个 Java 类 `GetPicture` 的示例,它包含了获取网络图片、截取屏幕以及创建图片缩略图的功能。我们将详细解释其中的关键知识点。 1....
### JAVA截屏技术详解 #### 一、引言 在软件开发过程中,有时我们需要实现屏幕截图的功能,尤其是在自动化测试或用户界面记录等场景下。Java作为一种广泛应用的编程语言,提供了丰富的API来支持屏幕截图功能。本文...
在Java编程中,实现连续截屏并将其转化为GIF是一项技术性较强的任务。这个功能可以应用于屏幕录制、演示过程记录或者其他需要动态展示画面变化的场景。以下是对这个过程的详细解释: 1. **屏幕捕捉**: 在Java中,...
在“word转图片”的过程中,Java程序可以使用Jacob打开Word文档,然后通过截屏或者利用Word的API将文档内容转换为图片。这个过程通常涉及到图像处理的知识,例如像素操作、图像格式转换等。转换后的图片可以保存为...
6. **执行命令**:在Java中,你可能还需要使用`Runtime.getRuntime().exec()`方法来执行FFmpeg命令行工具,以直接生成指定帧的图片,而无需先解码视频。这可以简化流程,但可能限制了灵活性。 7. **错误处理和资源...
在本项目中,"纯Java实现整个网页截图项目源代码" 是一个利用Java编程语言来实现的实用程序,它能够捕获整个网页的图像并将其保存为图片文件。这个项目的核心在于利用DJNativeSwing组件,这是一个开源的Java库,它...
为了将生成的PNG数据传递回Java层,可以创建一个ParcelFileDescriptor对象,通过它创建一个管道,然后在JNI方法中写入PNG数据。Java层可以通过FileDescriptor读取这些数据,并将其保存到本地文件系统。 6. **安全...
在Web开发中,有时我们需要将网页内容以图片的形式保存下来,这就是所谓的"Web截屏"。这个主题涵盖了三种主要的Web编程语言:ASP.NET、JSP和PHP的截图实现方式。 **ASP.NET截屏** ASP.NET是Microsoft .NET框架的一...
在PC端,我们可以使用`ddmlib`提供的`FileSink`或自定义的`Sink`实现来处理`Image`对象,例如将`byte[]`写入文件,从而保存截屏图片。 需要注意的是,`ddmlib`的截屏过程可能会受到设备性能、网络延迟等因素的影响...
在IT行业中,生成网页缩略图是一项常见的需求,特别是...通过WebDriver接口,我们可以控制PhantomJS浏览网页并截取快照,最后保存为图片文件。如果你需要处理大量网页,可以考虑将这个过程批量化或异步化,以提高效率。
5. **处理图像数据**:在Java端接收到Base64编码的图像数据后,将其解码并保存为本地图片文件。 6. **优化和调整**:可能还需要处理一些细节问题,如网页滚动、CSS样式影响、异步加载资源等,以确保快照的完整性和...
4. **保存截图**:将截取的图像(`java.awt.image.BufferedImage`对象)保存为图片文件,如JPEG或PNG格式。可以使用`ImageIO.write(BufferedImage, String, File)`方法完成这一操作。 5. **处理参数**:如果需要...
【Java桌面截图程序】是一个利用Java编程语言实现的桌面截屏工具,它的主要功能是允许用户在计算机桌面上快速捕获屏幕快照。这个程序包含了完整的源代码,开发者可以研究和学习,也可以作为基础进行二次开发。由于它...
`PdfToJpg.java`文件很可能就是用于实现这个功能的代码,它将PDF的第一页转换成JPEG图片。转换过程可能包括打开PDF文件、读取第一页、渲染为图像并保存为JPEG格式。 接下来是“上传文件到ftp服务器”。FTP(File ...