java重画_如何解决java 重画问题?

博主在尝试从Java Swing应用中保存画布为图片时遇到问题,当前使用的是截屏方法,但这会导致当画布被遮挡或最小化时无法正确保存。他们希望找到一种方式能在repaint()之前保存画布的内容。提供的代码片段展示了如何使用Robot类进行屏幕截图,并尝试将画布内容绘制到BufferedImage上然后保存。寻求详细的解答和实例来解决这个问题。
摘要由CSDN通过智能技术生成

我的是一个画布,画完画后想保存图片,但那方法都是截屏。当画布遮住时,或最小化时,画都不见了。请教如何保存到画布(在repaint()之前)的内容。我的截屏方法:publicFilegetImage...

我的是一个画布,画完画后想保存图片,但那方法都是截屏。

当 画布遮住时,或最小化时,画都不见了。请教如何 保存到画布(在repaint()之前)的内容。

我的截屏方法:

public File getImage(){

try{

// BufferedImage screenshot = (new Robot()).createScreenCapture(new

// Rectangle(300,150, (int) d.getWidth(), (int) d.getHeight()));

//

// //serialnum++;

// String name=filename+"."+imageformat;

// f = new File(name);

// System.out.print("save file "+name);

// //将screenshot对象写入图像文件

// ImageIO.write(screenshot, imageformat, f);

// Dimension d = df.huabuC.getSize();

BufferedImage img = new BufferedImage(300,300,

BufferedImage.TYPE_INT_RGB );

df.huabuC.printAll(img.getGraphics());

ImageIO.write(img,imageformat,f);

}catch (Exception ex) {

System.out.println(ex);

}

return f;

}

大哥,如果懂的请讲的详细点。最好弄个实例。非常感谢您的到来!

怎么绘制?我很想这样啊,怎么把图片绘制在指定的地方的相关方法。

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值