Пример #1
0
    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
Пример #2
0
    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