`

截取JPanel的部分内容并保存为图片

    博客分类:
  • GUI
阅读更多

最近做一个东西需要将JPanel的内容保存下来, 传统的办法是:

 

BufferedImage image = new BufferedImage(jpanel.getWidth(),jpanel.getHeight(), BufferedImage.TYPE_INT_RGB); 
Graphics2D g2 = image.createGraphics(); 
jpanel.paint(g2); // instead of just paint(g2); 

ImageIO.write(image, "jpeg",
new java.io.File("a file.jpg"));
.

 

不过, 很快我就发现这种方法不适合我.

首先, 我的JPanel的大小为: 6000*6000 ,

这就意味着创建一个BufferedImage需要耗费 60000*3000*4=687M 内存.

单单是创建一个BufferedImage就需要大约700M内存, 这显然不行.

 

既然整个保存不行, 那就试试先截取JPanel的部分内容再保存.

 

//....
.....
BufferedImage image = new BufferedImage(1200,60, BufferedImage.TYPE_INT_RGB); //截取大小
Graphics2D g2 = image.createGraphics(); 
g2.translate(-1200, -60); // 截取起点
jpanel.paint(g2); // instead of just paint(g2); 

ImageIO.write(image, "jpeg",
new java.io.File("a file.jpg"));

 

 

把上面代码放在一个循环里面, it work.

 

 

转载注明:http://c-zhiwu.iteye.com/

 

2
0
分享到:
评论

相关推荐

    JAVA HTML截图.rar

    在IT行业中,有时候我们需要将网页内容以图片的形式保存或展示,这时就涉及到HTML到图片的转换。本资源"JAVA HTML截图.rar"提供了一种利用Java实现这一功能的方法。以下是关于这个主题的详细知识: 首先,Java是一...

    用java写的截图工具

    比如,一个"截图"按钮用于启动截图过程,一个"保存"按钮用于保存截取的图片,还有可能包括"复制到剪贴板"、"编辑"等选项。 3. **捕获屏幕图像**:Java提供了`java.awt.Robot`类,可以用来模拟用户的输入操作,包括...

    JAVA弹球程序

    在JAVA中,我们可以使用`Robot`类来捕获屏幕上的图像,然后保存为图片文件。这通常是通过调用`createScreenCapture()`方法,指定要截取的屏幕区域,然后使用`ImageIO.write()`将图像保存到磁盘。 另外,弹球的动画...

    JAVA屏幕抓图(源码)

    这个项目提供了一段源码,模仿了QQ截图的功能,允许用户通过拖动鼠标来选择屏幕上的任何区域进行截图,并且可以自定义保存图片的路径。下面将详细解释这个Java屏幕抓图的实现过程及相关技术点。 1. **Java AWT/...

    2021-2022计算机二级等级考试试题及答案No.2424.docx

    7. IE 收藏夹:IE 浏览器的收藏夹保存的是网页的 URL 链接,而不是网页的全部内容或部分。 8. 数据库范式:第二范式(2NF)要求表中不存在非主键列对主键的部分函数依赖。题目的描述符合 2NF。 9. `DatagramSocket...

    java swing 截屏软件实现

    可能会有一个选项让用户保存截图到本地文件,这就需要用到文件I/O操作,如File、FileOutputStream等,以及ImageIO类来读写图片文件。 8. **布局管理器**: Swing使用不同的布局管理器(如FlowLayout、GridLayout...

    Java屏幕截屏工具

    开发者可以通过这个类获取屏幕的一部分,然后保存为图片文件。 4. **文件操作**:截屏后的图片需要保存到指定位置,这里提到的是D盘。Java的`java.io.File`类用于处理文件和目录的操作,如创建文件、写入数据等。 ...

    微信游戏打飞机游戏制作(java模拟微信打飞机游戏)

    - `ImageLoader`类中的`getImage`方法可以指定图像的坐标和尺寸来截取图片的一部分。 - `ImageIcon`类用于创建图像图标。 ##### 2.3 音频播放 游戏体验的一个重要方面是声音效果,本项目使用了`javax.sound.sample...

Global site tag (gtag.js) - Google Analytics