我有一个返回缓冲图像的方法,在图像正常的方法中。但是一旦我尝试调用方法并显示返回的图像,它就会被破坏。
public BufferedImage componentToImage(Component component, Rectangle region)
throws IOException {
GraphicsEnvironment ge = GraphicsEnvironment
.getLocalGraphicsEnvironment();
GraphicsDevice gd = ge.getDefaultScreenDevice();
GraphicsConfiguration gc = gd.getDefaultConfiguration();
BufferedImage bImage = gc.createCompatibleImage(component.getWidth(),
component.getHeight(), BufferedImage.TYPE_INT_RGB);
Graphics2D g = bImage.createGraphics();
component.paint(g);
g.setColor(component.getForeground());
g.setFont(component.getFont());
return bImage;
}
显示图片的代码:
BufferedImage bi = componentToImage(jchartpanel);
ImageIcon icon = new ImageIcon();
icon.setImage(bi);
JOptionPane.showMessageDialog(null, icon);
如果我在方法中运行显示图像代码,它会工作,但返回的图像不会显示。