A compactação JPG no Magento 2 é muito forte, para que a qualidade das imagens do produto fique muito ruim na visualização Catálogo e Produto. Como posso alterar a compactação de imagem para JPG no Magento 2?
A compactação JPG no Magento 2 é muito forte, para que a qualidade das imagens do produto fique muito ruim na visualização Catálogo e Produto. Como posso alterar a compactação de imagem para JPG no Magento 2?
Respostas:
Esta solução funciona para mim:
Arquivo: {Fornecedor} / {Módulo} /etc/di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="Magento\Catalog\Model\Product\Image" type="{Vendor}\{Module}\Model\Product\Image" />
</config>
Arquivo: {Fornecedor} / {Módulo} / Modelo / Produto Você pode definir a qualidade para o que quiser. Em seguida, limpe o cache da imagem.
namespace {Vendor}\{Module}\Model\Product;
class Image extends \Magento\Catalog\Model\Product\Image {
protected function _construct() {
$this->_quality = 100;
parent::_construct();
}
}
vendor/magento/framework/Image/Adapter/Gd2.php:167
a 9 (max)
Quanto ao Magento 2.3.2, é possível definir a qualidade da imagem sem alterar o código:
Lojas> Configuração> Avançado> Sistema> Configuração de Upload de Imagens> Qualidade> 100
O caminho de configuração XML é:
system/upload_configuration/jpeg_quality
inside - fornecedor / magento / catalog-module / Helper / Image.php
Você encontrará o genérico:
public function setQuality($quality)
{
$this->_getModel()->setQuality($quality);
return $this;
}
Se você grep para seu uso, encontrará um método com o mesmo nome em:
magento / catalog-module / Model / Product / Image.php
e dentro desse arquivo:
/**
* Default quality value (for JPEG images only).
*
* @var int
*/
protected $_quality = 80;
É esse valor - que precisa ser definido como 95.
Isso reduzirá a compactação e artefatos no site.
Vocês assumem que precisam fazer essas modificações com uma substituição de código implantada adequadamente - ou seja, não com a modificação deste arquivo principal. Eu não sou um desenvolvedor magento caso contrário, eu teria uma rachadura ....
As respostas aqui são IMO bastante erradas. Não é a qualidade que você deve mudar em primeira mão , é o tamanho das imagens. Por quê?
Bem, ao comprimir uma imagem para obter o menor tamanho de arquivo possível, a taxa de compactação é a mais benéfica para alcançar esse objetivo. O segundo são as dimensões da imagem. Além disso, você deve sempre compactar a imagem original antes de reduzi-la (não verifiquei como o magento lida com isso) para reduzir o tamanho do arquivo o máximo possível, preservando os detalhes.
Nas telas de retina, você precisa do dobro do tamanho exibido. Portanto, para obter uma imagem nítida exibida em 250x250 pixels, a imagem precisa ter 500x500 pixels.
Então, eu começaria alterando os temas view.xml
para dobrar o tamanho exibido. Se a imagem ainda não parecer boa, eu consideraria aumentar a configuração de qualidade. Se você tiver tempo, poderá implementar imagens responsivas também (tamanhos duplos são carregados apenas em dispositivos de tela retina ).
Você também pode diminuir o tamanho removendo todos os metadados da imagem, sem saber se o magento faz isso por padrão ou não. Geralmente faz parte de bons serviços de compactação de imagem.