Applet Java - salvando uma imagem em um formato png

Estou criando um applet simples para criação de avatar. Você pode escolher rosto, cabelo, olhos, etc e depois salvá-lo em um disco como um arquivo png. A versão simples (sem a interface para a finalidade da simplicidade) é semelhante a esta:

import java.awt.*;
import java.applet.*;
import java.net.*;

public class Example extends Applet
 {

 Image my_gif;
 Image my_gif2;
 URL base;
 MediaTracker mt;

 public void init() 
 {
        mt = new MediaTracker(this);
     try {
             base = getDocumentBase();
     }
     catch (Exception e) {}

       my_gif = getImage(base,"1.gif");
       my_gif2 = getImage(base,"2.gif");

       mt.addImage(my_gif,1);
       mt.addImage(my_gif2,2);

      try {
           mt.waitForAll();
      }
      catch (InterruptedException  e) {}
  }
 public void paint(Graphics g) 
 {
       g.drawImage(my_gif,0,0,this);
     g.drawImage(my_gif2,0,0,this);
 }
 }

Este exemplo consiste em dois arquivos. Quando executados, eles são visíveis de maneira correta. Agora eu gostaria de salvá-lo em um disco - eu posso salvar uma imagem usando BufferedImage, mas eu quero "achatar" duas ou mais imagens e salvá-lo. Qualquer ajuda seria muito apreciada. Eu também concordo que talvez a minha abordagem não seja a correta e ficaria grata por quaisquer correções.

questionAnswers(2)

yourAnswerToTheQuestion