Python Imaging Library

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Question book.svg
Esta página ou secção não cita nenhuma fonte ou referência, o que compromete sua credibilidade (desde janeiro de 2014).
Por favor, melhore este artigo providenciando fontes fiáveis e independentes, inserindo-as no corpo do texto por meio de notas de rodapé. Encontre fontes: Googlenotícias, livros, acadêmicoYahoo!Bing. Veja como referenciar e citar as fontes.

Python Imaging Library (abreviado para PIL) é uma biblioteca da linguagem de programação Python que adiciona suporte à abertura e gravação de muitos formatos de imagem diferentes.

Formatos de Imagens[editar | editar código-fonte]

Alguns dos formatos suportados são o PNG, TIFF, BMP, EPS e GIF. Também é possível criar novos decodifidores de arquivo para expandir a biblioteca em formatos de imagens acessíveis.

Pacotes que usam o PIL[editar | editar código-fonte]

Há muitos pacotes que usam o PIL para fazer manipulação de imagens. Alguns exemplos são:

  • Numeric Python, uma biblioteca da linguagem que adiciona suporte para matrizes e arrays grandes e multi-dimensionais.
  • SciPy, uma biblioteca de rotinas científicas e numéricas.

Instalação[editar | editar código-fonte]

Instalação no Linux Procure o pacote python-imaging. Em geral:

   apt-get install python-imaging

Instalação no Windows Há um instalador EXE Aqui[1]. Antes de baixar verifique a versão do seu Python.


Exemplo de código[editar | editar código-fonte]

from PIL import Image, ImageDraw, ImageFont
 
def escreve():
    imagem = "original.jpeg", # Nome da imagem original 
    texto =  "teste com PIL", # Texto a inserir na imagem de cor cinza
    imagem_final = "arquivo_final.jpeg" # Resultado da imagem
 
    img = Image.open(imagem).convert("RGB")
    write = Image.new("RGB", (img.size[0], img.size[1]))
    draw = ImageDraw.ImageDraw(img)
    size = 0
    while True:
        size +=1
        FONT_win = "C:\WINDOWS\Fonts\Vera.ttf"
        nextfont = ImageFont.truetype(FONT_win, size)
        nexttextwidth, nexttextheight = nextfont.getsize(text)
        if nexttextwidth+nexttextheight/3 > write.size[0]:
            break
        font = nextfont
        textwidth, textheight = nexttextwidth, nexttextheight
    draw.setfont(font)
    draw.text(((write.size[0]-textwidth)/55, (write.size[0]-textheight)/55), texto, fill=(120,120,120))
    img.save(imagem_final)
 
if __name__ == '__main__':
    escreve()

Ligações externas[editar | editar código-fonte]

Ícone de esboço Este artigo sobre Informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.