Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #27967

Re: Mirror an image

From Jeff Higgins <jeff@invalid.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: Mirror an image
Date 2014-04-06 18:01 -0400
Organization A noiseless patient Spider
Message-ID <lhsj1p$i60$1@dont-email.me> (permalink)
References <2299213c-18fc-4e55-ab39-22dce863b255@googlegroups.com> <jt2mj9t2uv0jdos76t4otlb8lgfoc1udnn@4ax.com> <MPG.2da540be1aa5795117@202.177.16.121>

Show all headers | View raw


On 04/06/2014 02:18 PM, Wanja Gayk wrote:
> Without any test, this would be my first, rough idea:
> Have fun.

Thanks.
Here's another, not exactly per my first post
but the must be 25 ways of doing this task.

package scratch;

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JScrollPane;

@SuppressWarnings("serial")
public class Scratch extends JComponent {

   private BufferedImage image;
   private int width, height;

   public Scratch() {
     try {
       image = ImageIO.read(new File("/path/to/image"));
       width = image.getWidth();
       height = image.getHeight();
       setPreferredSize(new Dimension(width, 2 * height));
     } catch (IOException e) {
       e.printStackTrace();
     }
   }

   @Override
   protected void paintComponent(Graphics g) {
     super.paintComponent(g);
     Graphics2D g2d = (Graphics2D) g;
     AffineTransform restore = g2d.getTransform();
     g2d.drawRenderedImage(image, null);
     g2d.translate(0, 2 * height);
     g2d.scale(1, -1);
     g2d.drawRenderedImage(image, null);
     g2d.setTransform(restore);
   }

   public static void main(String[] args) {
     javax.swing.SwingUtilities.invokeLater(new Runnable() {
       public void run() {
         Scratch scratch = new Scratch();
         JScrollPane scroller = new JScrollPane();
         scroller.getViewport().add(scratch);
         JFrame frame = new JFrame("Scratch");
         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         frame.add(scroller);
         frame.pack();
         frame.setVisible(true);
       }
     });
   }
}

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Mirror an image pgmbento93@gmail.com - 2014-04-01 07:44 -0700
  Re: Mirror an image Jeff Higgins <jeff@invalid.invalid> - 2014-04-01 11:09 -0400
    Re: Mirror an image Jeff Higgins <jeff@invalid.invalid> - 2014-04-01 11:15 -0400
  Re: Mirror an image Roedy Green <see_website@mindprod.com.invalid> - 2014-04-01 11:56 -0700
    Re: Mirror an image Wanja Gayk <brixomatic@yahoo.com> - 2014-04-06 20:18 +0200
      Re: Mirror an image Jeff Higgins <jeff@invalid.invalid> - 2014-04-06 18:01 -0400
        Re: Mirror an image Wanja Gayk <brixomatic@yahoo.com> - 2014-04-13 15:57 +0200
          Re: Mirror an image Jeff Higgins <jeff@invalid.invalid> - 2014-04-13 10:21 -0400

csiph-web