Python Imaging Library

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

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

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

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
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
  Este artigo sobre informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.