Switch to full style
General Java code examples
Post a reply

flip image in java

Tue Nov 11, 2008 8:08 pm

flip image in java
Code:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.image.*;

public class FlipImageExample extends JFrame {
  ShowPanel panel;
  JButton button;

  public FlipImageExample() {
    super("Flip the image");
    Container container = getContentPane();
    panel = new ShowPanel();
    container.add(panel);

    Box box = Box.createHorizontalBox();
    button = new JButton("Flip");
    button.addActionListener(new ButtonListener());
    box.add(Box.createHorizontalGlue());
    box.add(button);
    box.add(Box.createHorizontalGlue());
    container.add(box, BorderLayout.NORTH);

    addWindowListener(new WindowEventHandler());
    setSize(350, 250);
    setVisible(true); 
  
}
    class WindowEventHandler extends WindowAdapter {
    public void windowClosing(WindowEvent e) {
    System.exit(0);
    }
  }
    public static void main(String arg[]) {
    new FlipImageExample();
  }
    class ButtonListener implements ActionListener {
    public void actionPerformed(ActionEvent e) {
    if (!panel.flip) {
        panel.flipImage();
        panel.bufferedImage = panel.bufferedImage2;
        panel.flip= true;
      }
    else {
        panel.bufferedImage = panel.bufferedImage1;
        panel.flip = false;
      }
      panel.repaint();
    }
  }
}
class ShowPanel extends JPanel {
  BufferedImage bufferedImage, bufferedImage1, bufferedImage2;
  boolean flip = false;

    ShowPanel() {
    setBackground(Color.white);
    setSize(450, 400);
    Image image = getToolkit().getImage("image4.jpg");
    MediaTracker mediaTracker = new MediaTracker(this);
    mediaTracker.addImage(image, 1);
    try {
      mediaTracker.waitForAll();
    } catch (Exception e) {}
    bufferedImage1 = new BufferedImage(image.getWidth(this), 
      image
.getHeight(this),BufferedImage.TYPE_INT_ARGB);
    Graphics2D g2d = bufferedImage1.createGraphics();
    g2d.drawImage(image, 0, 0, this);
    bufferedImage = bufferedImage1;
  }
    public void flipImage() {
    bufferedImage2 = new BufferedImage(bufferedImage1.getWidth(), 
    bufferedImage1
.getHeight(), bufferedImage1.getType());
    DataBuffer buffer1 = bufferedImage1.getRaster().getDataBuffer();
    DataBuffer buffer2 = bufferedImage2.getRaster().getDataBuffer();
      for (int i = buffer1.getSize() - 1, j = 0; i >= 0; --i, j++) {
      buffer2.setElem(j, buffer1.getElem(i));
    }
  }
    public void paintComponent(Graphics g) {
     Graphics2D g2D = (Graphics2D) g;
     g2D.drawImage(bufferedImage, 0, 0, this);
  }
}
 



Attachments
flip1.gif
before flip
flip1.gif (13.25 KiB) Viewed 10193 times
flip2.gif
after flip
flip2.gif (13.09 KiB) Viewed 10189 times

Post a reply
  Related Posts  to : flip image in java
 How to convert and burn Flip videos to DVD?     -  
 java image effects     -  
 image processing in java     -  
 image binarization in java     -  
 crop image in java     -  
 Clip of image in java     -  
 how to compress Bmp image in java...     -  
 Image Scale in java     -  
 Image Custom Filter In Java     -  
 Image Noise Filter in Java     -  

Topic Tags

Java AWT