Hi,
I am completely lost with Java2d. I have some how managed to construct a composite image and i dont understand how i did it. Please find the code below, I was working on one of ur examples.Now i need to dump this composite image to a temp file so that i can display it on the web-browser using the <img> tag of html. I tried BufferedImage but I am not able to understand what  BufferedImage does, read java doc but failed to understand. Please let me know any solution for this.
 
 

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.RenderingHints;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.JApplet;
import javax.swing.JFrame;
/*
<applet code="ACImages" width="600" height="300"></applet>
*/
public class ACimages extends JApplet {

    private String m_backGroundImgName = "emptyEnclosure.gif";
   
    private Image backImgObj;
   
    private final int []backImgDimen = {240,150};
   
    private String dimentionInfo[] = {"server_1X_2Y","server_1X_2Y","server_1X_2Y","server_1X_2Y"
             ,"server_1X_2Y","server_1X_2Y","server_1X_2Y","server_1X_2Y"};

    private Image eleImgObj[] = new Image[dimentionInfo.length];
   
    private final int MAX_NUM_SLOTS_XDIRECT = 8;
   
    public void init() {
        Toolkit tk = getToolkit();
        backImgObj = tk.getImage(ACimages.class.getResource(m_backGroundImgName));
        try {
            MediaTracker tracker = new MediaTracker(this);
            tracker.addImage(backImgObj, 0);
            tracker.waitForID (0);
        } catch (Exception e) {}
       
        for(int i = 0; i < dimentionInfo.length; i++) {
            eleImgObj[i] = tk.getImage(ACimages.class.getResource(dimentionInfo[i] + ".gif"));
            try {
                MediaTracker tracker = new MediaTracker(this);
                tracker.addImage(eleImgObj[i], 0);
                tracker.waitForID(0);
            } catch (Exception e) {}
        }
    }

    public void drawDemo(int w, int h, Graphics2D g2) {

        int iw = 24;
        int ih = 150;
        float xx = 0, yy = 10;
        g2.drawImage(backImgObj, (int) xx, (int) yy, backImgDimen[0], backImgDimen[1], null);
        for (int i =0; i < eleImgObj.length ; i++) {

         if(i>MAX_NUM_SLOTS_XDIRECT-1) {
          xx = 0;
         }
            xx += iw;
            g2.drawImage(eleImgObj[i], (int) xx, (int) yy, iw, ih, null);
            Image status =getToolkit().getImage( ACimages.class.getResource("Critical" + ".gif"));
                try {
                    MediaTracker tracker = new MediaTracker(this);
                    tracker.addImage(status, 0);
                    tracker.waitForID(0);
                } catch (Exception e) {}
            g2.drawImage(status, (int) xx+6, (int) yy+6, 13, 13, null);
        }
    }


    public void paint(Graphics g) {
        Graphics2D g2 = (Graphics2D) g;
        Dimension d = getSize();
        g2.setBackground(getBackground());
        g2.clearRect(0, 0, d.width, d.height);
        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                            RenderingHints.VALUE_ANTIALIAS_ON);
        g2.setRenderingHint(RenderingHints.KEY_RENDERING,
                            RenderingHints.VALUE_RENDER_QUALITY );
        drawDemo(d.width, d.height, g2);
       
    }
   
    private void writeToFile() {
        BufferedImage buffered_image =
         new BufferedImage (600, 300, BufferedImage.TYPE_INT_RGB );
        Graphics2D buf_image_graphics = buffered_image.createGraphics ();
        System.out.println("buffered_image :"+buffered_image);
        Dimension d = getSize();
        buf_image_graphics.setBackground(getBackground());
        buf_image_graphics.clearRect(0, 0, d.width, d.height);
        buf_image_graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                            RenderingHints.VALUE_ANTIALIAS_ON);
        buf_image_graphics.setRenderingHint( RenderingHints.KEY_RENDERING,
                            RenderingHints.VALUE_RENDER_QUALITY);
        drawDemo(d.width, d.height, buf_image_graphics);
        File f = new File ("c:\\anImage.gif");
        try {
   ImageIO.write (buffered_image, "gif", f);
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
       
        System.out.println("buffered_image :"+buffered_image);
       
    }

    public static void main(String argv[]) {
        final ACimages demo = new ACimages();
        demo.init();
        JFrame f = new JFrame("Java 2D(TM) Demo - ACimages");
        f.addWindowListener (new WindowAdapter() {
            public void windowClosing(WindowEvent e) {System.exit(0);}
        });
        f.getContentPane().add("Center", demo);
        f.pack();
        f.setSize(new Dimension(600,300));
        f.show();
        demo.writeToFile();
    }
}


--
Bad boy for life !!!
=========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA2D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to