0

我目前正在尝试调整我从网上下载的图片并将其放入 JPanel 中。首先,我使用以下代码从网上下载图像:

public static Image MSImageHigh(){
    URL imageUrl = null;
    try {
        imageUrl = new URL("http://www.hmdb.ca/labm/metabolites/" 
        + HMDB + "/ms/spectraH/" + HMDB + "H.png");
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }

    Image image = Toolkit.getDefaultToolkit().createImage(imageUrl);
    return image;
}

然后我做了一个调整图像大小的新方法:

public static BufferedImage resizeImage() {
    final BufferedImage bufferedImage = new BufferedImage(300, 500,BufferedImage.TYPE_INT_RGB);
    final Graphics2D graphics2D = bufferedImage.createGraphics();

    graphics2D.setComposite(AlphaComposite.Src);
    graphics2D.drawImage(MSImageHigh(), 0, 0, 200, 200, null);
    graphics2D.dispose();

    return bufferedImage;
}

这应该会生成一个调整为 200x200 像素的新图像。它实际上所做的是给我一个 200x200 像素大小的黑屏。顺便说一句,我也尝试使用 TYPE_INT_ARGB 而不是 TYPE_INT_RGB,这会产生一个完全透明的图像,所以这也不起作用。

4

1 回答 1

0

我使用ImageIO.read(imageUrl)而不是Toolkit.getDefaultToolkit().createImage(imageUrl)解决了这个问题。谢谢@Hovercraft 满满的鳗鱼!

于 2012-07-09T08:15:49.003 回答