BufferedImage image=null;
try {
image = new BufferedImage(mypanel.getSize().width, mypanel.getSize().height,BufferedImage.TYPE_INT_RGB);
} catch (HeadlessException ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
}
try {
ImageIO.write(image, "png", new File("D://end12.png"));
} catch (IOException ef) {
// TODO Auto-generated catch block
ef.printStackTrace();
}
我想将面板图像保存到file.when尝试这样做。它显示一个黑色的图像。我理解的是默认情况下jpanel的背景颜色。但我有一个彩色的jpanel.Can任何一个帮助< / p>
答案 0 :(得分:4)
您正在创建一个空的BufferedImage
,在其上绘制Jpanel
使用:
try {
BufferedImage image = new BufferedImage(mypanel.getWidth(),
mypanel.getHeight(), BufferedImage.TYPE_4BYTE_ABGR);
Graphics g = image.getGraphics();
mypanel.printAll(g);
g.dispose();
ImageIO.write(image, "png", new File("img.png"));
} catch (Exception e) {
e.printStackTrace();
}