Documentação do Symfony2
Renderizada do repositório symfony-docs-pt-BR no Github

Como usar o Assetic para otimização de imagem com funções do Twig

Dentre os seus vários filtros, o Assetic possui quatro que podem ser utilizados para a otimização de imagens on-the-fly. Isso permite obter os benefícios de tamanhos menores dos arquivos sem ter que usar um editor de imagens para processar cada imagem. Os resultados são armazenados em cache e pode ser feito o dump para produção de modo que não há impacto no desempenho para seus usuários finais.

Usando o jpegoptim

Jpegoptim é um utilitário para otimizar arquivos JPEG. Para usá-lo com o Assetic, adicione o seguinte na configuração do Assetic:

Note

Observe que, para usar o jpegoptim, você deve instalá-lo em seu sistema. A opção bin aponta para a localização do binário compilado.

Ele agora pode ser usado em um template:

Removendo todos os dados EXIF

Por padrão, a execução desse filtro remove apenas algumas das informações meta armazenadas no arquivo. Os dados EXIF ​​e comentários não são removidos, mas você pode removê-los usando a opção strip_all:

Diminuindo a qualidade máxima

Por padrão, o nível de qualidade do JPEG não é afetado. Você pode ganhar reduções adicionais no tamanho dos arquivos ao ajustar a configuração de qualidade máxima para um valor inferior ao nível atual das imagens. Isto irá, claro, custar a qualidade de imagem:

Sintaxe curta: Função Twig

Se você estiver usando o Twig, é possível conseguir tudo isso com uma sintaxe curta, ao habilitar e usar uma função especial do Twig. Comece adicionando a seguinte configuração:

O template Twig pode agora ser alterado para o seguinte:

<img src="{{ jpegoptim('@AcmeFooBundle/Resources/public/images/example.jpg') }}"
     alt="Example"/>

Você pode especificar o diretório de saída na configuração da seguinte forma: