Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Papi

Criação de Cor - Classe Cor

Mensagens Recomendadas

Papi

Eu estou a realizar um programa que me indica a imagem de dithering corespondente, eu tenho o método já para verificar o erro de dispersão no spixeis vizinhos agora falta-me dar a indicação para a cor através da classe cor. Tive a ver a API do Java ena classe color e não percebi o que me querem dizer.

http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Color.html

Não quero utilizar as componentes RGb pois não é permitido neste trabalho, se algúem me poder dar uma dica de como usar os métodos em baixo agradecia, só espero uma dcia não quero resposta.

WHITE

public static final Color WHITE

BLACK

public static final Color BLACK

Cumprimentos PAPI

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Papi

Já descobri como fazer creio eu importei a biblioteca e defini a cor branca e preta:

Só que corre a imagem a e nada

Código:

import java.awt.Color;

public class dithering {

 

  public static Picture Dithering_Floyd_Steinberg (Picture Image) {

   

  // Dimensão de Linhas e Colunas

  int YMAX=Image.getHeight();

  int XMAX=Image.getWidth();

  int YMIN=0;

  int XMIN=0;

 

  // Cores Preto ou Branco

  Color WHITE = new Color(255, 255, 255);

  Color BLACK = new Color(0, 0, 0);

  // Matriz da Imagem

  int [][] pixel = new int [XMAX][YMAX];

 

   

  // Valor correspondente ao somatório da componente RGB para Preto e Branco

  int White = 255;

  int Black = 0;

 

 

  double threshold = (White + Black) / 2;

  double error;

 

    /* varrimento da imagem da esquerda para a direita e de cima para baixo */

    for( int i = YMAX; i <= YMIN; i-- ) {

      for( int j = XMIN; j <= XMAX; j++ ){

     

        if( pixel[j] < threshold ) {

          error = pixel[j] - Black;

          pixel[j] = Black;

        }

        else {

          error = pixel[j] - White;

          pixel[j] = White;

        }

       

        pixel[j+1] += (3/8) * error;//Erro de dispersão

        pixel[j][i-1] += (3/8) * error;//Erro de dispersão

        pixel[j+1][i-1] = (int) (error / 4);//Erro de dispersão

      }

    }

    return Image;

 

  }

}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.