Você está aqui: Java ::: Pacote java.awt.image ::: BufferedImage |
Como virar uma imagem horizontalmente usando um BufferedImage do Java em conjunto com um AffineTransformQuantidade de visualizações: 1195 vezes |
Nesta dica mostrarei como inverter uma imagem na horizontal, ou seja, dar um flip horizontal, usando um BufferedImage do Java. Note que nós vamos carregar uma imagem JPG, aplicar um AffineTransform nela e, em seguida, salvaremos ela com outro nome. Veja que virar uma imagem na horizontal é diferente de girar (rotacionar) a mesma. Quando uma imagem sofre um flip na horizontal, os textos dela ficam invertidos. Veja o código completo para o exemplo: package arquivodecodigos; import java.awt.geom.AffineTransform; import java.awt.image.AffineTransformOp; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class Estudos{ public static void main(String args[]){ // vamos declarar um objeto da classe BufferedImage BufferedImage imagem = null; try{ // vamos carregar a imagem imagem = ImageIO.read(new File("C:\\estudos_java\\osmar.jpg")); // vamos criar uma transformação Affine para virar a imagem // na horizontal AffineTransform transf = AffineTransform.getScaleInstance(-1, 1); transf.translate(-imagem.getWidth(null), 0); AffineTransformOp op = new AffineTransformOp(transf, AffineTransformOp.TYPE_NEAREST_NEIGHBOR); imagem = op.filter(imagem, null); // e salvamos a imagem com outro nome ImageIO.write(imagem, "jpg", new File("C:\\estudos_java\\osmar2.jpg")); // mostramos uma mensagem de sucesso System.out.println("Imagem salva com sucesso."); } catch(IOException exc){ System.out.println("Erro ao carregar a imagem: " + exc.getMessage()); } } } |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
C# - Como converter um tipo string para um tipo decimal em C# usando o método Parse() da classe Decimal |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |