Esse é um script que eu uso muito rotineiramente. Eu escrevi ele porque eu tentei várias soluções mas nenhuma era exatamente o que eu precisava e o que eu preciso é geralmente bem simles.
Só quero pegar um monte de fotos de várias resoluções diferentes e gerar uma página em HTML com as miniaturas das imagens com largura de 500 pixeis e com o link para a imagem original. É uma implementação bem simples, sem muita sofisticação. Eu coloco aqui porque ele é fácil de adaptar para outros usos.
#!/usr/bin/env python import os import Image cwd = os.getcwd() for arquivo in os.listdir(cwd): if arquivo.endswith('.JPG'): im = Image.open(arquivo) im.thumbnail((500,375), Image.ANTIALIAS) nome = arquivo.split('.')[0] tnome = nome + "_thumb.jpg" im.save(tnome, "JPEG") print '<a href="%s"><img src="%s"/></a><br/>' % (arquivo, tnome) |
Ele procura os arquivos do diretório que terminam com .JPG, cria uma miniatura de tamanho 500 por 375 e cospe o HTML na saÃda padrão. Para usar ele, entre no terminal do diretório onde você quer fazer a galeria e execute o script:
python galeria.py > saida.html
Uma sugestão (de mim para mim mesmo) seria dar um .sort() no os.listdir(cwd) assim eles ficariam em ordem alfabética, e como as máquinas fotográficas digitais nomeiam os arquivos num ordem crescente, você tem as fotos na ordem que foram capturadas.
Ficaria os.listdir(os.getcwd()).sort()
Onde eu encontro o pacote Image?
Você pode instalar usando o pip:
pip install PIL
Em qual diretório ele procura as imagens?