Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Java ::: Pacote java.awt.image ::: BufferedImage

Como carregar uma imagem JPG no BufferedImage do Java, escrever uma frase nela e salvar com outro nome

Quantidade de visualizações: 957 vezes
Nesta dica mostrarei uma das técnicas básicas que todo programador deve saber ao iniciar o estudo da manipulação de imagens com Java. O que vamos fazer é carregar uma imagem JPG em um BufferedImage do Java e, em seguida, vamos acessar seu objeto Graphics por meio de uma chamada ao método getGraphics().

Uma vez obtido o Graphics, faremos uma chamada ao seu método drawString() para escrever uma frase na imagem recém-carregada, fornecendo o texto e as coordenadas desejadas. O passo final é salvar a imagem usando ImageIO.write().

Veja o código completo:

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

package arquivodecodigos;

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\\imagem.jpg"));
      
      // agora vamos escrever uma frase na imagem
      // nas coordenadas x = 10; y = 30;
      imagem.getGraphics().drawString("Arquivo de Códigos", 10, 30);
      
      // e salvamos a imagem com outro nome
      ImageIO.write(imagem, "jpg", new File("C:\\estudos_java\\imagem2.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());
    }    
  }
}

Execute este código e, ao finalizar a execução, abra a imagem gerada e você verá uma frase escrita nela.

Link para compartilhar na Internet ou com seus amigos:

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

Java para iniciantes - Como usar o laço do-while da linguagem Java

Quantidade de visualizações: 52834 vezes
O laço do-while é uma variação do laço while. A diferença é que, no laço do-while a condição de continuidade é testada após a execução do bloco de códigos desejado. Isso nos faz crer que este laço é executado no mínimo uma vez. Veja sua sintáxe:

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

do{
  // bloco de instruções
}while(condição);

Se a condição testada for verdadeira, o laço continua sua execução. Do contrário a execução do programa segue a partir do ponto onde o laço se encontra. Veja um exemplo:

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

import javax.swing.JOptionPane;

public class Estudos{
  public static void main(String[] args) {
    int valor;
    int soma = 0;

    // Lê continuamente até o usuário informar 0
    do{
      // efetua a próxima leitura
      String str = JOptionPane.showInputDialog(null,
        "Informe um valor inteiro:\n(ou 0 para sair)",
         "Estudos", JOptionPane.QUESTION_MESSAGE);

      valor = Integer.parseInt(str);

      soma += valor;
    }while(valor != 0);

    JOptionPane.showMessageDialog(null, "A soma é: " + soma,
       "Estudos", JOptionPane.INFORMATION_MESSAGE);
  }
}

Use o laço do-while quando você tiver instruções dentro do laço que precisem ser executadas no mínimo uma vez.


Java ::: Coleções (Collections) ::: ArrayList

Como obter o índice da primeira ocorrência de um elemento no ArrayList do Java usando o método indexOf()

Quantidade de visualizações: 12285 vezes
Este exemplo mostra como usar o método indexOf() para obter o índice da primeira ocorrência de um item na ArrayList. Se o ítem não for encontrado, o valor retornado é -1.

Veja o código completo para a dica:

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

package arquivodecodigos;

import java.util.ArrayList;
 
public class Estudos{
  public static void main(String[] args){
    // cria uma ArrayList que conterá strings
    ArrayList<String> nomes = new ArrayList<String>();
     
    // adiciona itens na lista
    nomes.add("Carlos");
    nomes.add("Maria");
    nomes.add("Fernanda");
    nomes.add("Osmar");
    nomes.add("Maria");    
     
    // obtém o índice da primeira ocorrência do
    // nome "Maria"
    int indice = nomes.indexOf("Maria");
 
    System.out.println("O índice do nome pesquisado é: " 
       + indice); 
 
    System.exit(0);
  }
}

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

O índice do nome pesquisado é: 1


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Exercício Resolvido de Java - Usando o laço do...while para pedir ao usuário para informar números inteiros e calcular a quantidade de números positivos, negativos, a soma e a média

Quantidade de visualizações: 9354 vezes
Pergunta/Tarefa:

Escreva um programa Java que usa o laço do...while para ler números inteiros até que o valor lido seja igual a 0. Em seguida mostre a quantidade de valores positivos e negativos, a soma dos valores e a média aritmética (sem incluir o valor 0 na contagem e no cálculo da média). A média deverá ser exibida como um valor de ponto flutuante.

Sua saída deverá ser parecida com a mostrada abaixo:

Informe um número inteiro (0 para sair): 5
Informe um número inteiro (0 para sair): -4
Informe um número inteiro (0 para sair): 3
Informe um número inteiro (0 para sair): 8
Informe um número inteiro (0 para sair): -2
Informe um número inteiro (0 para sair): 0
Quantidade de números positivos: 3
Quantidade de números negativos: 2
A soma dos números lidos é: 10
A média aritmética é: 2.0
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

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

package exercicios;

import java.util.Scanner;

public class Exercicios {
  public static void main(String[] args) {
    // vamos fazer a leitura usando a classe Scanner
    Scanner entrada = new Scanner(System.in);
      
    // declaração das variáveis
    int numero, quantLidos = 0, soma = 0;
    int quantPositivos = 0, quantNegativos = 0;
      
    // laço do...while que repetirá até que o usuário informe o valor 0
    do {
      // lê o primeiro ou próximo número
      System.out.print("Informe um número inteiro (0 para sair): ");
      numero = Integer.parseInt(entrada.nextLine());

      if(numero > 0){ // o número é positivo?
        quantPositivos++;
      }
      else if(numero < 0){ // o número é negativo?
        quantNegativos++;
      }

      // soma este número à soma já existente
      soma += numero;
      // aumenta a contagem dos números lidos
      if(numero != 0){ // não incluir o 0 para sair do programa na contagem
        quantLidos++;
      }
    }
    while(numero != 0); // condição de parada do laço

    if(quantLidos == 0){
      System.out.println("Você não informou nenhum número.");
    }
    else{
      System.out.println("Quantidade de números positivos: " + quantPositivos);
      System.out.println("Quantidade de números negativos: " + quantNegativos);
      System.out.println("A soma dos números lidos é: " + soma);
      System.out.println("A média aritmética é: " + ((soma * 1.0) / quantLidos));
      
      // note a multiplicação de soma por 1.0 para gerar um valor de ponto flutuante
      // antes da divisão
    }    
  }
}



Vamos testar seus conhecimentos em Ética e Legislação Profissional

O código de ética profissional: Concorrência

No Brasil, a livre concorrência está subordinada ao artigo 173, § 4º, da Constituição Federal. Posteriormente, foi instituído o Conselho Administrativo de Defesa Econômica (Cade), cujo objetivo é ___________.

Assinale a alternativa que completa a lacuna de forma correta.

A) proteger os consumidores e o mercado internacional de ações desonestas, práticas ilícitas e antiéticas.

B) proteger os consumidores, garantir a reserva de mercado para as commodities e combater ações desonestas, práticas ilícitas e antiéticas.

C) liberar a fusão entre as empresas como forma de proteger os consumidores e o mercado econômico.

D) proibir a entrada de produtos importados, visando à proteção da indústria nacional e dos consumidores.

E) proteger os consumidores e o mercado econômico de ações desonestas, práticas ilícitas e antiéticas.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Materiais empregados para instalação de água fria e esgoto

A rede de esgoto se divide em primário e secundário. A rede primária é aquela que fica em contato com os gases que vêm da rede externa. Durante a execução das instalações externas e enterradas de esgoto sanitário primário de uma residência, você deverá especificar a tubulação que deverá ser instalada do vaso sanitário até o sistema de coleta público de esgotos. Sobre essa tubulação, assinale a alternativa correta:

A) Deverá ser adotada uma tubulação de PVC rígido da série reforçada com DN mínimo de 100mm.

B) Deverá ser adotada uma tubulação de cerâmica rígida da série normal com DN máximo de 75mm.

C) Deverá ser adotada uma tubulação de PVC rígido da série reforçada com DN máximo de 40mm.

D) Deverá ser adotada uma tubulação de PVC rígido da série normal com DN máximo de 40mm.

E) Deverá ser adotada uma tubulação de PVC rígido da série normal com DN máximo de 220mm.
Verificar Resposta Estudar Cards Todas as Questões

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

Locação da obra

Durante a fase de "levantamento", colhemos informações in loco para uso na fase de projeto. No momento de passar o que está no projeto para o terreno, frequentemente são encontradas dificuldades na implementação, principalmente devido a erros de levantamento, que muitas vezes fornecem, por exemplo, um formato de terreno que não coincide com a forma real.

A etapa referida, que apresenta dificuldades de implementação, é:

A) Medição de obra.

B) Locação de obras.

C) Locação de estacas.

D) Levantamento altimétrico.

E) Levantamento planimétrico.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Camadas de escoamento

Em escoamento laminar, o perfil de velocidade é parabólico. Em escoamento turbulento, não há uma definição correta, porém o escoamento acontece em quatro camadas. Quais são elas?

A) Subcamada viscosa, camada de atrito de Darcy, camada de transição e camada externa.

B) Subcamada viscosa, subcamada amortecedora, camada laminar e camada externa.

C) Camada viscosa, camada amortecedora, camada de transição e camada limite de filme.

D) Camada viscosa, camada amortecedora, camada de atrito de Darcy e camada limite de filme.

E) Subcamada viscosa, subcamada amortecedora, camada de transição e camada externa.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Número de Reynolds

O número de Reynolds (abreviado como Re) é utilizado para o cálculo do regime de escoamento de um fluido no interior de um tubo ou de um duto. Considere que um sistema hidráulico opera com óleo SAE 10W, de densidade igual a 920kg/m3 e viscosidade dinâmica de 0,018kg/(m.s), à temperatura de 55°C. Sabendo que o fluido escoa a uma velocidade média de 0,147m/s, e que o tubo tem 1m de diâmetro, qual é o número de Reynolds para o escoamento?

A) 7.513,33.

B) 2.300.

C) 112,65.

D) 715,33.

E) 1.126,50.
Verificar Resposta Estudar Cards Todas as Questões

Mais Desafios de Programação e 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á 13 usuários muito felizes estudando em nosso site.