Image类有getGraphics方法,这样可以返回一个Image的绘画Context,例如:
Image im;
....
Graphics g = im.getGraphics();
g.draw(....);
即可!

解决方案 »

  1.   

    Frame frame = null;
           frame = new Frame();
           frame.addNotify();
           Graphics g = null;
            String  source = "d:\\12.gif";
            MediaTracker mt = new MediaTracker(frame);
            Image mage = Toolkit.getDefaultToolkit().getImage(source);
            mt.addImage(mage,0);
            mt.waitForAll();
           int w = mage.getWidth(frame);
           int h = mage.getHeight(frame);
           if(w <=0 || h<=0){
            return;
            }
            Image offscreen = frame.createImage(w,h);
            g =  offscreen.getGraphics();
            g.drawImage(mage,0,0,frame);
            g.setFont(new Font("Monospaced",Font.BOLD,45));
            g.drawString("Hello",537,455);
    System.out.println(g);
    FileOutputStream fos = new FileOutputStream("d:\\88.gif"); 
    BufferedOutputStream bos = new BufferedOutputStream(fos); 
    GifEncoder encoder = new GifEncoder(offscreen,bos);
    encoder.encode(); 
    bos.close();