Observe o código a seguir, que está manipulando uma imagem totalmente branca: Parte 1: pixel = imagem.getPosition(0,0) pixel.setRed( 0 ); pixel.setGreen( 0 ); pixel.setBlue( 0 ); print(imagem); pixel = imagem.getPosition(0,1) pixel.setRed( 0 ); pixel.setGreen( 0 ); pixel.setBlue( 0 ); print(imagem); Parte 2: pixel = imagem.getPosition(0,0) pixel.setRed( 255 ); pixel.setGreen( 255 ); pixel.setBlue( 255 ); print(imagem); Se o computador executar as linhas de código da parte 1 e, segundos depois, as linhas de código da parte 2, qual será o efeito observado nas imagens apresentadas na tela?
Questão
Observe o código a seguir, que está manipulando uma imagem totalmente branca:
Parte 1: pixel = imagem.getPosition(0,0) pixel.setRed( 0 ); pixel.setGreen( 0 ); pixel.setBlue( 0 ); print(imagem);
pixel = imagem.getPosition(0,1) pixel.setRed( 0 ); pixel.setGreen( 0 ); pixel.setBlue( 0 ); print(imagem);
Parte 2: pixel = imagem.getPosition(0,0) pixel.setRed( 255 ); pixel.setGreen( 255 ); pixel.setBlue( 255 ); print(imagem);
Se o computador executar as linhas de código da parte 1 e, segundos depois, as linhas de código da parte 2, qual será o efeito observado nas imagens apresentadas na tela?
Alternativas
A) Um pixel preto se deslocando para a esquerda.
B) Um pixel preto se deslocando para baixo.
C) Um pixel preto se deslocando para a direita.
D) Um pixel cinza se deslocando para a esquerda.
E) Um pixel cinza se deslocando para baixo.
Explicação
A imagem inicial é totalmente branca, ou seja, todos os pixels começam com .
Parte 1
-
getPosition(0,0)pega o pixel na posição (linha 0, coluna 0). Ao fazersetRed(0),setGreen(0),setBlue(0), esse pixel vira preto: . Ao darprint(imagem), aparece a imagem com um pixel preto em (0,0). -
Em seguida,
getPosition(0,1)pega o pixel na posição (linha 0, coluna 1). Ao definir , esse pixel também vira preto. Como o pixel (0,0) não foi desfeito, ao darprint(imagem)agora aparecem dois pixels pretos lado a lado na mesma linha: (0,0) e (0,1).
Parte 2 (executada segundos depois)
3) getPosition(0,0) volta ao pixel (0,0) e define , fazendo ele voltar a ser branco. Ao dar print(imagem), o pixel (0,1) permanece preto, e o (0,0) fica branco.
Efeito visual ao longo do tempo O ponto preto “sai” de (0,0) e fica em (0,1). Considerando o padrão usual de coordenadas de imagem em que o segundo índice aumenta para baixo (posição (0,1) está abaixo de (0,0)), observa-se um pixel preto se deslocando para baixo.
Alternativa correta: (B).