java标签导出空白图片

问题描述 投票:0回答:1

我的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);

          } 

            });
    }
java swing jlabel bufferedimage drawimage
1个回答
1
投票

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

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

阅读API的内容 drawImage(…) 方法,你没有指定你要绘制的图像的宽度和高度参数,所以什么也没有开始绘制。

你没有指定要绘制的图像的宽度和高度参数,所以什么也没有开始绘制。

另外,你把BufferedImage画到了自己身上。

如果你想从标签中绘制图像,你需要像这样的代码。

ImageIcon icon = (ImageIcon)label.getIcon();
g1.drawImage(icon.getImage(), …);
© www.soinside.com 2019 - 2024. All rights reserved.