La compresión JPG en Magento 2 es muy fuerte, por lo que la calidad de las imágenes del producto se vuelve realmente mala en la vista Catálogo y Producto. ¿Cómo puedo cambiar la compresión de imagen para JPG en Magento 2?
La compresión JPG en Magento 2 es muy fuerte, por lo que la calidad de las imágenes del producto se vuelve realmente mala en la vista Catálogo y Producto. ¿Cómo puedo cambiar la compresión de imagen para JPG en Magento 2?
Respuestas:
Esta solución me funciona:
Archivo: {Proveedor} / {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>
Archivo: {Proveedor} / {Módulo} / Modelo / Producto Puede establecer la calidad a lo que desee. Luego, vacíe el caché de imágenes.
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 (máximo)
En cuanto a Magento 2.3.2, es posible establecer la calidad de imagen sin cambiar el código:
Tiendas> Configuración> Avanzado> Sistema> Configuración de carga de imágenes> Calidad> 100
La ruta de configuración XML es:
system/upload_configuration/jpeg_quality
inside - vendor / magento / module-catalog / Helper / Image.php
Encontrará el genérico:
public function setQuality($quality)
{
$this->_getModel()->setQuality($quality);
return $this;
}
Si busca su uso, encontrará un método con el mismo nombre en:
magento / module-catalog / Model / Product / Image.php
y dentro de ese archivo:
/**
* Default quality value (for JPEG images only).
*
* @var int
*/
protected $_quality = 80;
Es este valor, que necesita configurarse en 95.
Esto reducirá la compresión y los artefactos en el sitio.
Supongo que sus muchachos tendrán que hacer estas modificaciones con una anulación de código adecuadamente implementada, es decir, no mediante la modificación de este archivo central. No soy un desarrollador de magento, de lo contrario tendría un crack ...
Las respuestas aquí son bastante incorrectas IMO. No es la calidad que debería cambiar de primera mano , es el tamaño de las imágenes. ¿Por qué?
Bueno, cuando se comprime una imagen para obtener el tamaño de archivo más pequeño posible, la tasa de compresión es la más beneficiosa para lograr ese objetivo. El segundo es las dimensiones de la imagen. Además, siempre debe comprimir la imagen de origen original antes de reducirla (no he comprobado cómo magento maneja esto) para reducir el tamaño del archivo tanto como sea posible mientras se conservan los detalles.
En las pantallas de retina necesita 2 veces el tamaño mostrado. Entonces, para que se muestre una imagen nítida a 250x250 píxeles, la imagen debe ser de 500x500 píxeles.
Así que comenzaría cambiando los temas view.xml
para duplicar el tamaño mostrado. Si la imagen aún no se ve bien, entonces consideraría aumentar la configuración de calidad. Si tiene tiempo, también podría implementar imágenes receptivas (por lo que los tamaños duplicados solo se cargan en dispositivos de pantalla retina ).
También puede reducir el tamaño eliminando todos los metadatos de la imagen, sin estar seguro de si magento lo hace por defecto o no. Por lo general, es parte de buenos servicios de compresión de imágenes.