0

次のコードに従って、ラベルにアイコンとして配置するコードで生成された画像アイコンがあります。

ImageIcon icon = new ImageIcon(barcode.drawBarcode());
jLabel36.setIcon(icon);

今私の問題は、ImageIcon タイプを Image に変更してハードディスクに保存するにはどうすればよいかということです。ImageIcon を Image にキャストしようとすると、次のエラーが表示されます。

java.lang.ClassCastException: javax.swing.ImageIcon を java.awt.Image にキャストできません

型のキャストと画像の保存の両方でこのタスクを達成する方法を教えてください。

4

1 に答える 1

6

使用するだけgetImage()です:

// get image from imageicon
Image image = icon.getImage();

// cast it to bufferedimage
BufferedImage buffered = (BufferedImage) image;

try {
    // save to file
    File outputfile = new File("saved.png");
    ImageIO.write(buffered, "png", outputfile);
} catch (IOException e) {
    e.printStackTrace();
}
于 2012-10-12T07:49:32.840 に答える