Meus últimos posts

Apaixonado por programação criei este blog para compartilhar expêriencias com outros programadores, nele mostro dicas e soluções para resolver determinadas situações.
Comprimir imagem para web
Comprimir imagem para web

Uma das coisas que mais se fala é sobre espaço em servidores, sabemos que espaço em servidores ta cada vez mais alto  e para minimizar tudo isso aqui vai um script para comprimir imagens antes de salvar em um determinado servidor sem perder qualidade.

O Script é simples mais eficaz para deixar imagens leves.

#-*-coding: utf-8-*-

import PIL
from PIL import Image
import StringIO       
from django.core.files.uploadedfile import InMemoryUploadedFile

def compress(path, photo):    
    image = PIL.Image.open(StringIO.StringIO(photo.read())).convert('RGB')
    wsize, hsize = image.size
    image = image.resize((wsize, hsize), PIL.Image.ANTIALIAS)
    output = StringIO.StringIO()
    image.save(output, format='JPEG', quality=80, optimize=True, progressive=True)
    output.seek(0)
    return InMemoryUploadedFile(output, 'ImageField', "%s.jpeg" % photo.name.split('.')[0], 'image/jpeg', output.len, None)