2009-05-14 9 views

答えて

7

次のコードは、2つのImageIconからImageを取り、新しいImageIconを作成します。

ImageIconからの画像は、次いで、得られた画像は新しいImageIconを作るために使用され、第一の画像の上に描画される:

Image img1 = imageIcon1.getImage(); 
Image img2 = imageIcon2.getImage(); 

BufferedImage resultImage = new BufferedImage(
    img1.getWidth(null), img1.getHeight(null), BufferedImage.TYPE_INT_ARGB); 

Graphics2D g = resultImage.createGraphics(); 
g.drawImage(img1, 0, 0, null); 
g.drawImage(img2, 0, 0, null); 
g.dispose(); 

ImageIcon resultImageIcon = new ImageIcon(resultImage); 

編集 (加え、いくつかのエラーを修正

BufferedImage.TYPE_INT_ARGBは、アルファチャンネルを持たないBufferedImage.TYPE_INT_RGBではなく、コンストラクタ内のイメージタイプに使用できます。

+0

これはかなり近いです、新しいイメージは、透明なものの代わりに黒い背景を持つようです。 – willcodejavaforfood

+0

タイプをTYPE_4BYTE_ABGRに変更し、それがアルファを世話しました。どうもありがとう – willcodejavaforfood

関連する問題