Jump to content
Sign in to follow this  
Papi

Criação de Cor - Classe Cor

Recommended Posts

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

Share this post


Link to post
Share on other 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;

 

  }

}

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.