Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

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

Como retornar as cores RGB dos pixels individuais de um BufferedImage do Java usando seu método getRGB()

Quantidade de visualizações: 2370 vezes
O método getRGB() da classe BufferedImage da linguagem Java nos oferece uma forma muito conveniente de analisar as cores dos pixels individuais de uma imagem. Este método recebe as coordenadas do pixel que queremos acessar e retorna um valor inteiro contendo as informações RGB (Red, Green, Blue), ou seja, a quantidade de vermelho, verde e azul).

No entanto, é preciso lançar mão de algumas operações de manipulação de bits para conseguirmos separar os valores das três cores. No código abaixo eu mostro como isso pode ser feito. Neste código eu desconsiderei a informação da transparência da cor do pixel. Em outra dica eu mostro como isso pode ser obtido também.

Então vamos ao código Java. Note que carregamos uma imagem JPG em um BufferedImage e em seguida acessamos o pixel nas coordenadas (0, 0). Depois manipulamos o valor inteiro retornado e extraímos dele a quantidade de vermelho, verde e azul, tanto em decimal quanto em hexadecimal:

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"));
      
      // vamos obter a cor no pixel 0, 0
      int cor = imagem.getRGB(0, 0);
      
      // vamos obter a quantidade de vermelho (red)
      int vermelho = (cor & 0xff0000) >> 16;
      
      // vamos obter a quantidade de verde (green)
      int verde = (cor & 0xff00) >> 8;
      
      // e agora a quantidade de azul
      int azul = cor & 0xff;
      
      // e mostramos o resultado em decimal e em hexadecimal
      System.out.println("Quantidade de vermelho: " + vermelho +
        " ou " + Integer.toHexString(vermelho) + " em hexadecimal");


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

Quantidade de vermelho: 200 ou c8 em hexadecimal
Quantidade de verde: 150 ou 96 em hexadecimal
Quantidade de azul: 101 ou 65 em hexadecimal

Link para compartilhar na Internet ou com seus amigos:

Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

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



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