java 显示bufferedimage_java-在JLabel上绘制时,透明BufferedImage显示为...

我有一个从png文件创建的BufferedImage.创建它时,我将类型设置为TYPE_INT_ARGB,这应该为我提供透明图像.当我在JPanel中使用paintComponent绘制图像时,得到的图像带有黑色背景.我真的需要使它透明,以便任何帮助将是有用的.这是为了清楚起见的代码:

public class ImagePanel extends JPanel {

private static final long serialVersionUID = 1L;

private BufferedImage image;

public ImagePanel() {

this.image = null;

}

public void createImage(String fileName) {

this.image = ImageUtilities.getBufferedImage(fileName, this);

this.repaint();

}

public void paint(Graphics g) {

g.drawImage(this.image, 0, 0, this);

}

}

这是我如何加载图像:

public class ImageUtilities {

/** Create Image from a file, then turn that into a BufferedImage.

*/

public static BufferedImage getBufferedImage(String imageFile, Component c) {

Image image = c.getToolkit().getImage(imageFile);

waitForImage(image, c);

BufferedImage bufferedImage = new BufferedImage(image.getWidth(c), image.getHeight(c),

BufferedImage.TYPE_INT_ARGB);

Graphics2D g2d = bufferedImage.createGraphics();

g2d.drawImage(image, 0, 0, c);

return(bufferedImage);

}

最后要添加的是,此ImagePanel在另一面板内,如果有任何意义的话.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值