現在、WebからダウンロードしてJPanelに入れている画像のサイズを変更しようとしています。まず、次のコードを使用してWebから画像をダウンロードしています。
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_RGBの代わりにTYPE_INT_ARGBを使用しようとしましたが、これは完全に透明な画像を生成するため、どちらも機能しません。