Стиснення JPG на Magento 2 дуже сильне, так що якість зображень виробів стає дуже поганою у поданні Каталог та Продукт. Як я можу змінити стиснення зображення для JPG у Magento 2?
Стиснення JPG на Magento 2 дуже сильне, так що якість зображень виробів стає дуже поганою у поданні Каталог та Продукт. Як я можу змінити стиснення зображення для JPG у Magento 2?
Відповіді:
Це рішення працює для мене:
Файл: {Vendor} / {Module} /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>
Файл: {Vendor} / {Module} / Model / Product Ви можете встановити якість на все, що завгодно. Потім змийте кеш зображення.
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 (макс.)
Що стосується Magento 2.3.2, то можна встановити якість зображення без зміни коду:
Магазини> Конфігурація> Додатково> Система> Конфігурація завантаження зображень> Якість> 100
Конфігураційний шлях XML:
system/upload_configuration/jpeg_quality
всередині - постачальник / magento / модуль-каталог / Helper / Image.php
Ви знайдете загальне:
public function setQuality($quality)
{
$this->_getModel()->setQuality($quality);
return $this;
}
Якщо ви привітаєтесь до його використання, ви знайдете однойменний метод у:
magento / модуль-каталог / Модель / Продукт / Image.php
і всередині цього файлу:
/**
* Default quality value (for JPEG images only).
*
* @var int
*/
protected $_quality = 80;
Саме ця величина потребує встановлення 95.
Це зменшить стиснення та артефакти на сайті.
Ваші хлопці, я припускаю, що доведеться внести ці зміни з відповідним чином розгорнутим кодом, замість цього, тобто не шляхом модифікації цього основного файлу. Я не розробник magento, інакше у мене буде тріщина ....
Відповіді тут досить неправильні ІМО. Це не якість, яку слід змінити з перших рук , це розмір зображень. Чому?
Що ж, справа в тому, що стискаючи зображення, щоб отримати найменший розмір файлу, тоді швидкість стиснення є найбільш вигідною для досягнення цієї мети. Другий - це розміри зображення. Також завжди слід стискати оригінальне вихідне зображення перед тим, як зменшити його (я не перевіряв, як magento справляється з цим), щоб максимально зменшити розмір файлу, зберігаючи деталі.
На екранах сітківки вам потрібно двічі відображений розмір. Тож для отримання чіткого зображення, що відображається в 250x250 пікселів, тоді зображення має бути 500x500 пікселів.
Тож я б почав зі зміни тем, view.xml
щоб подвоїти розмір, що відображається. Якщо зображення все ще не виглядає добре, я б подумав про покращення налаштування якості. Якщо у вас є час, ви також можете реалізувати чуйні зображення (тому подвійні розміри завантажуються лише на екрани сітківки ).
Ви також можете зменшити розмір, видаливши з зображення всі метадані, не впевнені, чи робить це magento за замовчуванням чи ні. Зазвичай це частина хороших сервісів стиснення зображень.