Magento eCommerce: melhorando a qualidade da imagem do produto
Publicado em:
A mudança é bem simples. A dica é do blog narno.com.
1. Abra em seu editor de textos o arquivo /lib/Varien/Image/Adapter/Gd2.php;
2. Vá para a linha 80 e troque pelo código abaixo:
if ($this->_fileType === IMAGETYPE_JPEG) {
call_user_func($this->_getCallback('output'), $this->_imageHandler, $fileName, 90);
} else {
call_user_func($this->_getCallback('output'), $this->_imageHandler, $fileName);
}
O número 90 no código indica que a imagem será comprimida mantendo-se 90% de sua qualidade. Caso queria mais qualidade, aumente o número, para um limite de 100%. Mas lembre-se, mais qualidade significa uma imagem mais pesada.
O Magento também aceita imagens do tipo PNG, mas ele não faz a compressão para esse tipo de imagem, deixando elas no tamanho original, as vezes muito grande para o usuário (~ 200kb).
Você pode melhorar isso permitindo que o Magento comprima esses arquivos da mesma forma que uma imagem JPEG, reduzindo o arquivo final mas mantendo a qualidade. Para fazer isso, altere a mesma linha 80, adicionando um else if ao código:
if($this->_fileType === IMAGETYPE_JPEG) {
call_user_func($this->_getCallback('output'), $this->_imageHandler, $fileName, 90);
}
else if($this->_fileType === IMAGETYPE_PNG) {
call_user_func($this->_getCallback('output'), $this->_imageHandler, $fileName, 5);
}
else {
call_user_func($this->_getCallback('output'), $this->_imageHandler, $fileName);
}
No caso do PNG, a numeração muda. Vai de 0 (zero, sem compressão, valor default) a 9 (máxima compressão). Basta ir fazendo os testes para descobrir qual o melhor custo (tamanho da imagem) / benefício (qualidade da imagem).
Atualizando as imagens cadastradas anteriormente
O Magento possui sistema de cache para imagens, para agilizar o processamento e o carregamento das páginas. Isso impossibilita que as imagens que foram cadastradas antes da modificação tenham a qualidade alterada para as novas configurações.
Para atualizar todas as imagens, basta limpar o cache. Para isso, acesse a administração, item System (Sistema) > Cache Management (Gerenciador de cache) > Images cache (Cache de imagens).