21.12.2022 Views

python_para_desenvolvedores_2ed

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

242 Processamento de imagem

# Cria thumbnail (miniatura) da imagem

# de tamanho 256x256 usando antialiasing

imagem.thumbnail((256, 256), Image.ANTIALIAS)

# Filtro suaviza a imagem

imagem = imagem.filter(ImageFilter.SMOOTH)

# Salva como arquivo PNG

imagem.save(f + '.png', 'PNG')

Exemplo de desenho:

# -*- coding: latin-1 -*-

"""

Cria uma imagem com vários gradientes de cores

"""

import Image

# Módulo de desenho

import ImageDraw

# Largura e altura

l, a = 512, 512

# Cria uma imagem nova com fundo branco

imagem = Image.new('RGBA', (l, a), 'white')

# O objeto desenho age sobre o objeto imagem

desenho = ImageDraw.Draw(imagem)

# Calcula a largura da faixa de cor

faixa = l / 256

# Desenha um gradiente de cor

for i in xrange(0, l):

# Calcula a cor da linha

rgb = (0.25 * i / faixa, 0.5 * i / faixa, i / faixa)

cor = '#%02x%02x%02x' % rgb

# Desenha uma linha colorida

# Primeiro argumento é uma tupla com

# as coordenadas de inicio e fim da linha

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!