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: 1120 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()); } } } |
![]() |
Java ::: Tratamento de Erros ::: Erros de Tempo de Execução |
Tratamento de erros em Java - Como tratar o erro NoClassDefFoundError em seus programas JavaQuantidade de visualizações: 12422 vezes |
A exceção (erro) NoClassDefFoundError acontece quando a Java Virtual Machine (JVM) ou uma instância de ClassLoader tenta carregar a definição de uma classe (como parte de uma chamada de método normal ou como parte da criação de uma nova instância usando a expressão new) e nenhuma definição de tal classe puder ser encontrada. Antes de vermos uns exemplos, veja a posição da classe pública NoClassDefFoundError na hierarquia de classes da plataforma Java: java.lang.Object java.lang.Throwable java.lang.Error java.lang.LinkageError java.lang.NoClassDefFoundError Veja que NoClassDefFoundError herda de Error e portanto, é uma das exceções lançadas como parte do funcionamento da JVM. Isso quer dizer que não podemos usar blocos try...catch para evitá-lo. A exceção é quando estamos tentando carregar uma instância de classe usando o ClassLoader. Para provocar o erro NoClassDefFoundError só precisamos efetuar algumas das ações abaixo: 1) Fornecer um nome de classe que não existe (ou com diferenças entre minúsculas e maiúsculas do nome pretendido). Assim: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- java MinhaClasse Se a classe não existir no diretório atual ou em um arquivo jar, a mensagem de erro abaixo será exibido: C:\java>java MinhaClasse Exception in thread "main" java.lang.NoClassDefFoundError: MinhaClasse 2) Fornecer um nome de classe seguida por .class: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- java MinhaClasse.class |
Java ::: Coleções (Collections) ::: HashMap |
Java HashMap - Como fornecer uma chave e obter seu valor correspondente em um HashMapQuantidade de visualizações: 9089 vezes |
O uso de um HashMap só se justifica quando podemos guardar os mapeamentos e recuperá-los de forma rápida e fácil. Para isso, a classe HashMap nos fornece o método get(). Este método recebe a chave a ser pesquisada e retorna o valor associado a ela. Veja sua assinatura:public V get(Object key) Veja um exemplo no qual usamos o método get() para retornar o valor associado à chave informada: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.util.*; public class Estudos{ public static void main(String[] args){ // vamos criar uma instância de HashMap HashMap<Integer, String> clientes = new HashMap<Integer, String>(); // vamos adicionar três chaves e seus valores clientes.put(new Integer(1), "Osmar J. Silva"); clientes.put(new Integer(2), "Salvador Miranda de Andrade"); clientes.put(new Integer(3), "Marcos da Costa Santos"); // vamos obter o valor correspondente à chave 2 String c = clientes.get(2); // vamos exibir o resultado if(c != null){ System.out.println("O valor para esta chave é: " + c); } else{ System.out.println("O HashMap não contém a chave informada."); } System.exit(0); } } Ao executarmos este código Java nós teremos o seguinte resultado: O valor para esta chave é: Salvador Miranda de Andrade |
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Java para iniciantes - Como usar o tipo de dados long da linguagem JavaQuantidade de visualizações: 14565 vezes |
O tipo de dados long pode ser usado quando queremos armazenar valores inteiros na faixa -9.223.372.036.854.775.808 até 9.223.372.036.854.775.807. 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{ static long valor = 545L; public static void main(String args[]){ System.out.println("O valor da variável é: " + valor); System.exit(0); } } Observe o uso do caractere "L" após o valor literal que atribuímos à variável. Isso é feito para que o compilador trate o literal como long e não como int. Você pode usar o "L" minúsculo, mas este se parece muito com o número um, o que torna seu uso pouco recomendável. O tipo de dados long pode ser convertido (sem a necessidade de cast) para os seguintes tipos: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- long -> float -> double Se precisarmos converter o tipo int para os tipos char, byte, short ou int, teremos que lançar mão de uma coerção (cast). Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- byte valor2 = (byte)(valor); |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Códigos Fonte |
![]() 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 |
![]() 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 |