iscte java ip

2
7/23/2019 iscte java ip http://slidepdf.com/reader/full/iscte-java-ip 1/2 PARTE I  Nesta parte, pretendesse desenvolver uma classe est ática com funções/procedimentos auxiliares para manipulação de imagens (ColorImage). Nas alí neas que contêm a assinatura da função, esta deve ser preservada, dado que se pretende utilizá-la na Parte II. A classe estática a desenvolver dever á conter: A. Uma função que dada uma imagem (ColorImage), devolva quantos pixéis são de cor  branca. B. Uma função que dada uma imagem, devolva um vetor com todas as os pixéis brancos.  public static Color[] brancos(ColorImage img) {  } C. Uma função que dada uma imagem devolva verdadeiro caso todos os pix éis tenham a mesma cor. Caso contr ário, ser á devolvido falso.  public static boolean todosMesmaColor(ColorImage img) {  } D. Uma função que dados uma imagem, e um char ('r' ou 'g' ou 'b'), devolva a imagem alterada reduzindo em 50% a componente RGB escolhida. Caso o char passado no argumento não seja válido, dever á ser lançada uma exceção apropriada.  public static ColorImage changeRGB(ColorImage img, char comp) {  } E. Um procedimento que dada uma imagem e duas cores (Color), pinte cada posição aleatoriamente escolhida com uma cor aleatória entre as duas dadas como argumento, sendo a probabilidade igual para ambas as cores. PARTE II A resposta a esta parte da frequência dever á consistir numa classe de objetos. Dever ão ser utilizados os mecanismos de encapsulamento ao ní vel da classe. Caso seja apropriado,  podem ser utilizados métodos auxiliares. Em baixo apresentam-se as tarefas exigidas para desenvolver os membros da classe: tendo por base a aplicação IscteGram desenvolvida: A. Defina os atributos necessários e desenvolva um construtor de tal forma que seja  possí vel especificar qual a ColorImage a fazer parte da classe CompositeEffects, o número máximo de undos que se podem realizar, e construir o vector para guardar os undos. B. Desenvolva uma função que indica quantos pixeí s não brancos tem a imagem da Classe CompositeEffects.  public int getPixeisBrancos() {  }

Upload: rui-goncalves

Post on 18-Feb-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: iscte java ip

7/23/2019 iscte java ip

http://slidepdf.com/reader/full/iscte-java-ip 1/2

PARTE I

Nesta parte, pretendesse desenvolver uma classe estática com funções/procedimentos

auxiliares para manipulação de imagens (ColorImage). Nas alí neas que contêm a assinatura

da função, esta deve ser preservada, dado que se pretende utilizá-la na Parte II.

A classe estática a desenvolver dever á conter:

A. Uma função que dada uma imagem (ColorImage), devolva quantos pixéis são de cor

branca.

B. Uma função que dada uma imagem, devolva um vetor com todas as os pixéis brancos.

public static Color[] brancos(ColorImage img) …

C. Uma função que dada uma imagem devolva verdadeiro caso todos os pixéis

tenham a mesma cor. Caso contr ário, ser á devolvido falso.

public static boolean todosMesmaColor(ColorImage img) …

D. Uma função que dados uma imagem, e um char ('r' ou 'g' ou 'b'), devolva a imagem

alterada reduzindo em 50% a componente RGB escolhida.

Caso o char passado no argumento não seja válido, dever á ser lançada uma exceção

apropriada.

public static ColorImage changeRGB(ColorImage img, char comp) …

E. Um procedimento que dada uma imagem e duas cores (Color), pinte cada posição

aleatoriamente escolhida com uma cor aleatória entre as duas dadas como argumento, sendo

a probabilidade igual para ambas as cores.

PARTE II

A resposta a esta parte da frequência dever á consistir numa classe de objetos. Dever ão ser

utilizados os mecanismos de encapsulamento ao ní vel da classe. Caso seja apropriado,

podem ser utilizados métodos auxiliares. Em baixo apresentam-se as tarefas exigidas para

desenvolver os membros da classe:

tendo por base a aplicação IscteGram desenvolvida:

A. Defina os atributos necessários e desenvolva um construtor de tal forma que seja

possí vel especificar qual a ColorImage a fazer parte da classe CompositeEffects, o número

máximo de undos que se podem realizar, e construir o vector para guardar os undos.

B. Desenvolva uma função que indica quantos pixeí s não brancos tem a imagem da Classe

CompositeEffects.

public int getPixeisBrancos() …

Page 2: iscte java ip

7/23/2019 iscte java ip

http://slidepdf.com/reader/full/iscte-java-ip 2/2

C. Desenvolva funções que permitam saber:

1. O número total de efeitos aplicados até ao momento;

2. Quais os efeitos aplicados (retornando o seu nome);

D. Desenvolva um procedimento para aplicar um efeito aleatório a imagem da classe

CompositeEffects..

ColorImage

new ColorImage(linhas,colunas) : construtor, cria uma imagem com o numero de linhas e

colunas indicado nos argumentos.

getWidth() : devolve a largura da imagem.

getHeight() : devolve a altura da imagem.

getColor(x,y) : devolve a cor da imagem na posição indicada nos argumentos.

setColor(x,y,Color cor) : defina a cor a colocar na imagem na posição indicada nos argumentos.

getLuminance() : devolve a luminância da imagem.

getColor(x, y).getR() : devolve a componente Red da cor, na posição indicada nos argumentos.

getColor(x, y).getG() : devolve a componente Green da cor, na posição indicada nos

argumentos.

getColor(x, y).getB() : devolve a componente Blue da cor, na posição indicada nos argumentos.

MathMath.random() : devolve um valor real aleatório no intervalo [ 0.0, 1.0 [.

Randomnew Random() : (construtor) cria um gerador de números aleatórios.

nextBoolean() : devolve um valor booleano aleatório.

nextDouble() : devolve um valor real aleatório no intervalo [ 0.0, 1.0 [.

nextInt() : devolve um valor inteiro aleatório.

nextInt(max ) : devolve um valor inteiro aleatório no intervalo [ 0, max [.

ExceçõesIllegalArgumentException apropriada

para incorreções relacionadas com argumentos passados a

funções/construtores.

NullPointerException apropriada,

entre outras situações, para o caso onde um argumento não pode ser

passado a null.

IllegalStateException apropriada

para a incorreções relacionadas com a impossibilidade de invocação

de determinadas operações dado o estado atual do objeto.