iscte java ip
TRANSCRIPT
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() …
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.