Magento 2'deki JPG sıkıştırması çok güçlüdür, böylece ürün görüntülerinin kalitesi Katalog ve Ürün görünümünde gerçekten kötüleşir. Magento 2'deki JPG'ler için Görüntü sıkıştırmayı nasıl değiştirebilirim?
Magento 2'deki JPG sıkıştırması çok güçlüdür, böylece ürün görüntülerinin kalitesi Katalog ve Ürün görünümünde gerçekten kötüleşir. Magento 2'deki JPG'ler için Görüntü sıkıştırmayı nasıl değiştirebilirim?
Yanıtlar:
Bu çözüm benim için çalışıyor:
Dosya: {Tedarikçi} / {Modül} /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>
Dosya: {Tedarikçi} / {Modül} / Model / Ürün Kaliteyi istediğiniz gibi ayarlayabilirsiniz. Ardından görüntü önbelleğini yıkayın.
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
9'a (maks.)
Magento 2.3.2'ye gelince, kodu değiştirmeden görüntü kalitesini ayarlamak mümkündür:
Mağazalar> Yapılandırma> Gelişmiş> Sistem> Görüntü Yükleme Yapılandırması> Kalite> 100
XML yapılandırma yolu:
system/upload_configuration/jpeg_quality
içeride - satıcı / magento / modül-katalog / Yardımcı / Image.php
Genel:
public function setQuality($quality)
{
$this->_getModel()->setQuality($quality);
return $this;
}
Kullanımı için grep yaparsanız, aynı adda bir yöntem bulacaksınız:
magento / modül-katalog / Model / Ürün / image.php
ve bu dosyanın içinde:
/**
* Default quality value (for JPEG images only).
*
* @var int
*/
protected $_quality = 80;
Bu değer - 95'e ayarlanması gerekiyor.
Bu, sitedeki sıkıştırmayı ve eserleri azaltacaktır.
Sizin çocuklar i uygun bir konuşlandırılmış kod geçersiz kılma ile bu değişiklikleri yapmak zorunda olduğunu varsayalım - yani bu çekirdek dosyayı değiştirerek. Im bir magento geliştirici değil, aksi takdirde bir çatlak olurdu ....
Buradaki cevaplar oldukça yanlış IMO. İlk elden değiştirmeniz gereken kalite değil , görüntülerin boyutu. Neden?
Şey, mümkün olan en küçük dosya boyutunu elde etmek için bir görüntüyü sıkıştırırken sıkıştırma oranının bu hedefe ulaşmada en faydalı olmasıdır. İkincisi görüntünün boyutlarıdır. Ayrıca, ayrıntıları koruyarak dosya boyutunu olabildiğince küçültmek için orijinal kaynak görüntüsünü küçültmeden önce her zaman sıkıştırmalısınız (macenin bunu nasıl ele aldığını kontrol etmedim).
Retina ekranlarda görüntülenen boyutun 2 katı olmalıdır. Bu nedenle, 250x250 pikselde keskin bir görüntü elde etmek için görüntünün 500x500 piksel olması gerekir.
Bu yüzden view.xml
, görüntülenen boyutu iki katına çıkarmak için temalarda değişiklik yapmaya başladım . Görüntü hala iyi görünmüyorsa, kalite ayarını yükseltmeyi düşünürüm. Zamanınız varsa duyarlı görüntüler de uygulayabilirsiniz (böylece çift boyutlar sadece retina ekran cihazlarına yüklenir ).
Ayrıca, görüntüden tüm meta verileri kaldırarak boyutu azaltabilirsiniz, magento'nun bunu varsayılan olarak yapıp yapmadığından emin değilsiniz. Genellikle iyi görüntü sıkıştırma hizmetlerinin bir parçasıdır.