La compressione JPG su Magento 2 è molto forte, in modo che la qualità delle immagini dei prodotti peggiori nella vista Catalogo e Prodotto. Come posso modificare la compressione delle immagini per JPG in Magento 2?
La compressione JPG su Magento 2 è molto forte, in modo che la qualità delle immagini dei prodotti peggiori nella vista Catalogo e Prodotto. Come posso modificare la compressione delle immagini per JPG in Magento 2?
Risposte:
Questa soluzione funziona per me:
File: {Venditore} / {Modulo} /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>
File: {Venditore} / {Modulo} / Modello / Prodotto È possibile impostare la qualità come desiderato. Quindi svuota la cache delle immagini.
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 (massimo)
Per quanto riguarda Magento 2.3.2 è possibile impostare la qualità dell'immagine senza cambiare il codice:
Negozi> Configurazione> Avanzate> Sistema> Configurazione caricamento immagini> Qualità> 100
Il percorso di configurazione XML è:
system/upload_configuration/jpeg_quality
inside - vendor / magento / module-catalog / Helper / Image.php
Troverai il generico:
public function setQuality($quality)
{
$this->_getModel()->setQuality($quality);
return $this;
}
Se grep per il suo utilizzo troverai un metodo con lo stesso nome in:
Magento / module-catalogo / modello / prodotto / image.php
e all'interno di quel file:
/**
* Default quality value (for JPEG images only).
*
* @var int
*/
protected $_quality = 80;
È questo valore - che deve essere impostato su 95.
Ciò ridurrà la compressione e gli artefatti nel sito.
I vostri ragazzi supporrò di dover apportare queste modifiche con una sostituzione del codice opportunamente distribuita, cioè non mediante la modifica di questo file principale. Non sono uno sviluppatore di Magento, altrimenti avrei una crepa ...
Le risposte qui sono IMO piuttosto sbagliate. Non è la qualità che dovresti cambiare in prima persona , è la dimensione delle immagini. Perché?
Bene, la cosa è quando si comprime un'immagine per ottenere la dimensione del file più piccola possibile, quindi il tasso di compressione è il più vantaggioso per raggiungere tale obiettivo. Il secondo è le dimensioni dell'immagine. Inoltre, dovresti sempre comprimere l'immagine di origine originale prima di ridimensionarla (non ho verificato come Magento lo gestisce) per ridurre al minimo le dimensioni del file preservando i dettagli.
Sulle schermate della retina è necessario raddoppiare le dimensioni visualizzate. Quindi, per ottenere un'immagine nitida visualizzata a 250x250 pixel, l'immagine deve essere di 500x500 pixel.
Quindi inizierei con la modifica dei temi view.xml
per raddoppiare le dimensioni visualizzate. Se l'immagine non ha ancora un bell'aspetto, prenderei in considerazione l'idea di aumentare l'impostazione di qualità. Se hai tempo, puoi anche implementare immagini reattive (quindi le dimensioni raddoppiate vengono caricate solo su dispositivi con retina ).
Puoi anche ridurre le dimensioni rimuovendo tutti i metadati dall'immagine, non sono sicuro che Magento lo faccia per impostazione predefinita o meno. Di solito fa parte di buoni servizi di compressione delle immagini.