def processar(self, imagem: Imagem, params=None) -> Imagem: if params is None: params = 90 indice = int((params % 360) / 90) pixels = imagem.get_pixels() novos_pixels = [] if indice % 2 == 1: aux = imagem.get_largura() imagem.set_largura(imagem.get_altura()) imagem.set_altura(aux) largura = imagem.get_largura() altura = imagem.get_altura() if indice == 1: # 90 for j in range(0, altura): for i in range(largura - 1, -1, -1): novos_pixels.append(pixels[imagem.get_pixel_index(i, j)]) elif indice == 2: # 180 for i in range(largura - 1, -1, -1): for j in range(altura - 1, -1, -1): novos_pixels.append(pixels[imagem.get_pixel_index(i, j)]) elif indice == 3: # 270 for j in range(altura - 1, -1, -1): for i in range(0, largura): novos_pixels.append(pixels[imagem.get_pixel_index(i, j)]) imagem.set_pixels(np.array(novos_pixels)) return imagem
def processar(self, imagem: Imagem, params=None) -> Imagem: if params is None: params = 0 indice = params pixels = imagem.get_pixels() novos_pixels = [] largura = imagem.get_largura() altura = imagem.get_altura() if indice == 0: # Vertical for i in range(largura - 1, -1, -1): for j in range(0, altura): novos_pixels.append(pixels[imagem.get_pixel_index(i, j)]) else: # Horizontal for i in range(0, largura): for j in range(altura - 1, -1, -1): novos_pixels.append(pixels[imagem.get_pixel_index(i, j)]) imagem.set_pixels(np.array(novos_pixels)) return imagem