Você está aqui: Java ::: Pacote java.awt.image ::: BufferedImage

Como virar uma imagem horizontalmente usando um BufferedImage do Java em conjunto com um AffineTransform

Quantidade de visualizações: 1070 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:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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());
    }    
  }
} 


Link para compartilhar na Internet ou com seus amigos:

Java ::: Fundamentos da Linguagem ::: Estruturas de Controle

Tutorial de Java - Como usar a instrução condicional if e if...else do Java

Quantidade de visualizações: 53848 vezes
Instruções if e if...else permitem executar trechos de códigos baseado em condições. Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

public class Estudos{
  public static void main(String args[]){
    int valor = 5;
    
    if(valor > 3)
      System.out.println("Valor maior que 3");
  }
}

Neste programa, a instrução

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

System.out.println("Valor maior que 3");

será executada somente se o teste (valor > 3) for verdadeiro. Observe que a expressão de teste deverá sempre ser do tipo boolean (true ou false).

Neste exemplo temos apenas uma instrução a ser executada. Isso dispensa o uso das chaves ao redor do bloco de códigos. Se o bloco contiver mais de uma instrução, as chaves são necessárias. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

public class Estudos{
  public static void main(String args[]){
    int valor = 5;
    
    if(valor > 3){
      System.out.println("Valor maior que 3");
      System.out.println("O valor é: " + valor);
    }
  }
} 

A instrução if...else (se...senão) é usada quando queremos fornecer um caminho alternativo ao código. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

public class Estudos{
  public static void main(String args[]){
    int valor = 1;
    
    if(valor > 3)
      System.out.println("Valor maior que 3");
    else
      System.out.println("Valor menor que 3");
  }
}

Você pode ainda usar if...else if...else (se...senão se...senão). Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

public class Estudos{
  public static void main(String args[]){
    int valor = 3;
    
    if(valor > 3)
      System.out.println("Valor maior que 3");
    else if(valor < 3)
      System.out.println("Valor menor que 3");
    else
      System.out.println("Valor é igual a 3");
  }
} 



Java ::: Dicas & Truques ::: Strings e Caracteres

Apostila Java para iniciantes - Como concatenar strings em Java usando o operador "+"

Quantidade de visualizações: 37 vezes
Strings, ou seja, palavras, frases e textos, são concatenadas em Java usando-se o operador de adição "+". Lembre-se: concatenar significa juntar, agrupar, mesclar, etc.

Veja um exemplo completo no trecho de código a seguir:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
 
public class Estudos{
  public static void main(String[] args){
    String s1 = "Bom dia, ";
    String s2 = "meu caro amigo!";
    String s3 = s1 + s2;
     
    System.out.println(s3);
     
    System.exit(0);
  }
} 

Ao executar este código Java nós teremos o seguinte resultado:

Bom dia, meu caro amigo!


Java ::: Projetos Java Completos - Códigos Fonte Completos Java ::: Jogos (Games)

Como criar o jogo Pedra, Papel, Tesoura em Java - Jogo completo em Java com código comentado

Quantidade de visualizações: 5981 vezes
Faça o download do código-fonte Pedra, Papel, Tesoura em Java

Nesta dica mostrarei como criar o famoso joguinho Pedra, Papel, Tesoura na linguagem Java. Trata-se de um código bem simples e que vou comentar linha a linha, para que você extraia todo o conteúdo necessário para deixar a sua lógica de programação ainda mais afiada.

Nesta versão eu mostrarei como jogar Pedra, Papel, Tesoura contra o computador. Depois de entender todo o código você não terá dificuldade para implementar uma versão que lhe permitirá jogar contra seus amigos.

Antes de vermos o código, eis uma imagem do jogo em execução:



Quais técnicas de programação vou aprender com o código desse jogo?

O joguinho Pedra, Papel, Tesoura é ótimo para estudantes de programação que está iniciando em Java e que gostariam de aprimorar sua lógica de programação, afinal, se você desenvolver uma boa lógica de programação, você conseguirá desenvolver soluções em qualquer linguagem.

Além de entender como funciona o desenvolvimento de jogos em Java, você reforçará o seu conhecimento de laços, estrutura condicional if...else, entrada e saída e fluxo e desvio do algorítmo.

Veja, por exemplo, um trecho de código no qual testamos se o jogador escolheu Pedra, Papel ou Tesoura, e também a escolha feita pelo computador:

// o jogador escolheu Pedra?
else if(jogador == 1){
  // o computador escolheu Papel?
  if(computador == 2){
    System.out.println("Você perdeu. Papel embrulha Pedra");
    vitoriasComputador++; // aumenta as vitórias do computador
  }
  else{ // o computador escolheu Tesoura
    System.out.println("Você ganhou. Pedra amassa Tesoura");
    vitoriasJogador++; // aumenta as vitórias do jogador
  }
}
// o jogador escolheu Papel?
else if(jogador == 2){
  // o computador escolheu Tesoura?
  if(computador == 3){
    System.out.println("Você perdeu. Tesoura corta Papel");
    vitoriasComputador++; // aumenta as vitórias do computador
  }
  else{ // o ocmputador escolheu Pedra
    System.out.println("Você ganhou. Papel embrulha Pedra");
    vitoriasJogador++; // aumenta as vitórias do jogador
  }
}
Como posso obter este código fonte?

Os links para você baixar todas as versões deste projeto estão abaixo:

1) PEDPAPTESJC - Jogo Pedra, Papel, Tesoura em Java Console - NetBeans IDE - Faça o download do código-fonte Pedra, Papel, Tesoura em Java.

Não se esqueça: Uma boa forma de estudar o código é fazendo pequenas alterações e rodando para ver os resultados. Outra opção é começar um projeto Java do zero e ir adicionando trechos do código fonte para melhor entendimento de suas partes.


Vamos testar seus conhecimentos em Python

Qual o resultado da execução do seguinte código Python?

# função usada para trocar dois itens de posição em uma lista
def trocar_posicao(lista, pos1, pos2):
  lista[pos1], lista[pos2] = lista[pos2], lista[pos1]
  return lista
 
# cria uma lista
valores = [1, 2, 3, 4]
# define as posições de troca
pos1, pos2 = 0, 3
 
# chama a função de troca e retorna a nova lista 
print(trocar_posicao(valores, pos1, pos2))

A) [1, 4, 3, 2]

B) [3, 2, 4, 1]

C) [4, 2, 3, 1]

D) [4, 4, 3, 2]

E) [4, 3, 2, 1]
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual o resultado da execução do seguinte código Python?

for i in range(0, 10, 3):
  print(i, end="  ")

A) 0 3 6 9

B) 0 1 2 3

C) 3 6 9 12

D) 10 20 30 40

E) 0 0 0 0
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fundações

Sondagem à Percussão (SPT) e Rotativa (RQD)

Identifique a qualidade do maciço através do RQD de uma porção da rocha cuja manobra na sondagem rotativa foi de 1,5m e recuperou-se os seguintes fragmentos: 12cm + 16cm + 7cm + 35cm + 6cm + 14cm + 8cm + 2cm + 50cm.

A) Trata-se de um maciço muito fraco. RQD menor que 25%.

B) Trata-se de um maciço fraco, com RQD entre 25 e 50%.

C) Trata-se de um maciço regular, com RQD entre 50 e 75%.

D) Trata-se de um maciço bom, com RQD entre 75 e 90%.

E) Trata-se de um maciço excelente, RQD=100%.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Como encontrar o maior valor entre x e y em JavaScript?

A) ceil(x, y)

B) top(x, y)

C) Math.max(x, y)

D) Math.ceil(x, y)
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil

Alvenaria: Técnicas construtivas

Durante o levantamento de alvenaria, para atenuar as tensões que ficarão concentradas nos contornos dos vãos de portas e janelas devido à descontinuidade da parede, é necessária a execução de elementos estruturais específicos. O elemento localizado acima dos vãos é denominado de:

A) Marco.

B) Caixilho.

C) Esquadria.

D) Verga.

E) Contramarco.
Verificar Resposta Estudar Cards Todas as Questões

Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 32 usuários muito felizes estudando em nosso site.