导出空白图像的 Java 标签



我的java代码将图像放在标签上,代码中是label1。当用户点击按钮 b1 时,它应该以特定大小导出图像。现在导出了一个图像文件,但它只是一个黑屏。标签上的图像未传输。我希望传输标签上的图像。

JLabel labels = new JLabel("Label 2");  
static JButton b1 = new JButton("First");
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {

BufferedImage scaledButtonImage =
new BufferedImage(400, 1000, bimg.getType());
Graphics g1 = scaledButtonImage.createGraphics();
g1.drawImage(scaledButtonImage, 0, 0, 0, 0, null);                  
g1.dispose();

label2.setIcon(new ImageIcon(bimg));
try {

ImageIO.write(scaledButtonImage, "png",file);
} 
});
}

现在导出一个图像文件,但它只是一个黑屏。

g1.drawImage(scaledButtonImage, 0, 0, 0, 0, null);    

阅读drawImage(…)方法的 API。

您没有指定要绘制的图像的宽度/高度参数,因此不会开始绘制任何内容。

此外,您正在将缓冲图像绘制到自身上。

如果要从标签中绘制图像,则需要以下代码:

ImageIcon icon = (ImageIcon)label.getIcon();
g1.drawImage(icon.getImage(), …);

最新更新