I have a question....
If I have a buffered image. I apply some changes to the image, such as smoothen 
the image. How can I display the new image. Here is a snippet of my source 
code. Because everytime I apply the the new image. The only thing is see is my 
original image. What are the few things to keep in mind to update an 
image(i.e.)after using setrgb()

[code]
    class MyPanel extends JPanel
    {
        //Purpose: a panel in which to draw

        //global offscreen and the Graphics2D variable g2
        private BufferedImage bufImag;
        protected Graphics2D g2;
        private int x,y;
        final int offScrWidth=1500,offScrHeight=1500;

        public MyPanel()
        {
 

          bufImag = new 
BufferedImage(offScrWidth,offScrHeight,BufferedImage.TYPE_INT_RGB);
                  try
                  {
                          InputStream in = new FileInputStream("Skull.JPG");
                          bufImag = ImageIO.read(in);
                  }
                  catch (IOException ex) {}

          g2 = bufImag.createGraphics();

          setPreferredSize(new Dimension(offScrWidth,offScrHeight));



                g2.drawImage(bufImag, 0,0,null);
        }

                public void smoothme ()
                {
                          int sum=0;
                          int width=bufImag.getWidth();
                          int height=bufImag.getHeight();
                          int[][] pixels = new int[width][height];


                          int I,J,i,j;
                                for (J=0;J<height;J++)
                                {
                                        for (I=0;I<width;I++)
                                        {
                                                pixels[I][J] = 
(bufImag.getRGB(I,J)& 0x000000ff);
                                         }
                                }

                          bufImag = new 
BufferedImage(offScrWidth,offScrHeight,BufferedImage.TYPE_INT_RGB);
        //set of codes for processing the image

                                for (J=0;J<width;J++)
                                {
                                        for (I=0;I<height;I++)
                                        {
                                                
bufImag.setRGB(I,J,((pixels[I][J]<<8)+pixels[I][J]<<8)+pixels[I][J]);
                                         }
                                }

                           g2.drawImage(bufImag, 0,0,null);
                           repaint();


                }
                  public void paintComponent(Graphics g)
                  {
                        //Purpose: do a complete screen refresh here
                        //Input: a Graphics to draw on
                        //Output: changes to the Graphics

                    super.paintComponent(g);
                    Graphics2D g2 = (Graphics2D)g;//copy offscreen to screen
                    g2.drawImage(bufImag, null,0,0);
                  }
                }
                class smooth{
                   // Main class
                   public static void main(String[] args){

                      MyPanel     myPanel=new MyPanel();
                      MyFrame     myFrame=new MyFrame(myPanel);

                      System.out.println("\n\nEnd of Processing");
                   }
                }


[/code]
[Message sent by forum member 'rosh72851' (rosh72851)]

http://forums.java.net/jive/thread.jspa?messageID=319250

===========================================================================
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