Java BufferedImage Flip flipVertically(BufferedImage image, RenderingHints hints)

Here you can find the source of flipVertically(BufferedImage image, RenderingHints hints)

Description

Flips the image vertically

License

Open Source License

Parameter

Parameter Description
image the image
hints rendering hints

Return

the flipped image of the Returned Value

Declaration

public static BufferedImage flipVertically(BufferedImage image, RenderingHints hints) 

Method Source Code

//package com.java2s;
/*// ww w.  ja  v a  2s. c o  m
 * Copyright appNativa Inc. All Rights Reserved.
 *
 * This file is part of the Real-time Application Rendering Engine (RARE).
 *
 * RARE is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 * 
 */

import java.awt.RenderingHints;

import java.awt.geom.AffineTransform;

import java.awt.image.AffineTransformOp;
import java.awt.image.BufferedImage;

public class Main {
    /**
     * Flips the image vertically
     *
     * @param image  the image
     * @param hints rendering hints
     * @return       the flipped image of the Returned Value
     */
    public static BufferedImage flipVertically(BufferedImage image, RenderingHints hints) {
        if (image == null) {
            return null;
        }

        AffineTransform at = getXFlipTransform(image.getHeight(null));
        AffineTransformOp op = new AffineTransformOp(at, hints);

        return op.filter(image, null);
    }

    /**
     * This returns an affine transform which will flip the horizontal
     * axis around.  (NOTE: that this transform should be
     * pre-concatenated with the existing one!)  The returned
     * transform will maintain the centerpoint of the window and flip
     * the direction of the x-axis.
     *
     * @param width the width
     *
     * @return the transform
     */
    public static AffineTransform getXFlipTransform(int width) {
        return new AffineTransform(-1., 0., 0., 1., width, 0.);
    }
}

Related

  1. flipImageHorizontally(BufferedImage image)
  2. flipImageVertically(BufferedImage theImage)
  3. flipVertical(BufferedImage im)
  4. flipVertically(BufferedImage image)
  5. flipVertically(BufferedImage image)
  6. flipVertically(BufferedImage source)
  7. horizontalflip(BufferedImage img)
  8. verticalFlip(BufferedImage img)
  9. verticalFlip(BufferedImage img)