我目前正在尝试调整我从网上下载并将其放入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像素的新图像。它实际上做的是给我一个200x200px大小的黑屏。顺便说一句,我也尝试使用TYPE_INT_ARGB而不是TYPE_INT_RGB,这会产生一个完全透明的图像,因此也无法正常工作。
答案 0 :(得分:0)
我使用ImageIO.read(imageUrl)
代替Toolkit.getDefaultToolkit().createImage(imageUrl)
,这解决了问题。谢谢@Hovercraft充满鳗鱼!