उत्पाद तस्वीरों की गुणवत्ता कैसे बढ़ाएं JPG (Magento 2)


18

Magento 2 पर JPG संपीड़न बहुत मजबूत है, ताकि उत्पाद छवियों की गुणवत्ता कैटलॉग और उत्पाद दृश्य में वास्तव में खराब हो। मैं Magento 2 में JPG की छवि संपीड़न कैसे बदल सकता हूं?

जवाबों:


15

यह समाधान मेरे लिए काम करता है:

फ़ाइल: {विक्रेता} / {मॉड्यूल} /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>

फ़ाइल: {विक्रेता} / {मॉड्यूल} / मॉडल / उत्पाद आप जो भी चाहते हैं उसके लिए गुणवत्ता निर्धारित कर सकते हैं। फिर फ्लश इमेज कैश।

namespace {Vendor}\{Module}\Model\Product;

class Image extends \Magento\Catalog\Model\Product\Image {

    protected function _construct() {
        $this->_quality = 100;

        parent::_construct();
    }
}

अपने कस्टम थीम में इस फ़ाइल को डालने का क्या तरीका है? मैं M2s फाइलिंग स्ट्रक्चर का पता नहीं लगा सकता। M1 बहुत आसान था
स्टाइल

ऐप / कोड / {विक्रेता} / {मॉड्यूल} में
पापामाइक

लेकिन अभ्यस्त जो अपग्रेड के दौरान ओवरराइड हो जाते हैं? मुझे लगा कि आपको इसे अपने विषय में रखना होगा। नहीं?
स्टाइल

1
नहीं, {Vendor} फ़ोल्डर को आपके द्वारा नामस्थान (उदाहरण के लिए स्टाइलज़ किया जा सकता है) द्वारा प्रतिस्थापित किया जाना चाहिए। इसे ओवरराइड नहीं किया जाएगा। Ex .: / app / code / styzzz / ImageCompression / ...
पैपामाइक

यदि आपके पास उत्पाद के लिए पीएनजी छवि है, तो संपीड़न स्तर जीडी 2 एडेप्टर में हार्डकोड किया गया है: vendor/magento/framework/Image/Adapter/Gd2.php:1679 से (अधिकतम)
फ्रेंक गर्नियर

5

Magento 2.3.2 के लिए कोड को बदले बिना छवि गुणवत्ता सेट करना संभव है:

स्टोर> कॉन्फ़िगरेशन> उन्नत> सिस्टम> छवियां कॉन्फ़िगरेशन> गुणवत्ता> 100 अपलोड करें

XML कॉन्फ़िगरेशन पथ है:

system/upload_configuration/jpeg_quality

यह प्रश्न का उत्तर प्रदान नहीं करता है। एक बार आपके पास पर्याप्त प्रतिष्ठा होने पर आप किसी भी पोस्ट पर टिप्पणी करने में सक्षम होंगे ; इसके बजाय, ऐसे उत्तर प्रदान करें जिन्हें पूछने वाले से स्पष्टीकरण की आवश्यकता न हो । - समीक्षा से
जय

1
"मैं JPG के लिए Magento 2 में छवि संपीड़न कैसे बदल सकता हूं" ... क्या यह सवाल नहीं था?
के विज

कोई कोड परिवर्तन की आवश्यकता के रूप में अन्य उत्तरों से बेहतर है
बैरी

2

अंदर - विक्रेता / Magento / मॉड्यूल-कैटलॉग / हेल्पर / Image.php

आप सामान्य पाएंगे:

public function setQuality($quality)
{
    $this->_getModel()->setQuality($quality);
    return $this;  
}

यदि आप इसके उपयोग के लिए grep करते हैं तो आपको उसी नाम का एक तरीका मिलेगा:

Magento / मॉड्यूल-सूची / मॉडल / उत्पाद / Image.php

और उस फ़ाइल के अंदर:

/**
 * Default quality value (for JPEG images only).
 *
 * @var int
 */         
protected $_quality = 80;

यह मान है - जिसे 95 पर सेट करने की आवश्यकता है।

यह साइट में संपीड़न और कलाकृतियों को कम करेगा।

मेरे लोग मानेंगे कि इस संशोधन को एक उपयुक्त रूप से तैनात कोड ओवरराइड के साथ करना होगा - अर्थात इस कोर फ़ाइल के संशोधन द्वारा नहीं। मैं एक Magento डेवलपर नहीं हूँ अन्यथा मैं एक दरार होगा ...।


3
वास्तव में, कोर (विक्रेता) में किसी भी मूल्य को बदलने से अगले अपडेट को अधिलेखित कर दिया जाएगा, इसलिए कोर फ़ाइलों को बदलना सामान्य रूप से एक बुरा विचार है
मार्सेल होरी

2

यहाँ जवाब बहुत गलत हैं IMO। यह वह गुणवत्ता नहीं है जिसे आपको पहले हाथ से बदलना चाहिए , यह छवियों का आकार है। क्यों?

अच्छी बात यह है कि जब किसी छोटी से छोटी फ़ाइल का आकार प्राप्त करने के लिए एक छवि को संपीड़ित किया जाता है तो उस लक्ष्य को प्राप्त करने में संपीड़न दर सबसे अधिक फायदेमंद होती है। दूसरा एक छवि का आयाम है। फ़ाइल के आकार को जितना संभव हो सके उतना कम करने से पहले आपको इसे डाउन करने से पहले हमेशा मूल स्रोत छवि को संपीड़ित करना चाहिए (मैंने यह जांच नहीं की है कि मैगेंटो इसे कैसे संभालता है)।

रेटिना स्क्रीन पर आपको प्रदर्शित आकार 2x की आवश्यकता होती है। इसलिए 250x250 पिक्सल में एक तेज छवि प्रदर्शित करने के लिए, फिर छवि को 500x500 पिक्सल होना चाहिए।

इसलिए मैं view.xmlप्रदर्शित आकार को दोगुना करने के लिए थीम में बदलाव के साथ शुरू करूंगा । अगर छवि अभी भी अच्छी नहीं दिखती है तो मैं गुणवत्ता सेटिंग पर विचार करूंगा। यदि आपके पास समय है तो आप उत्तरदायी छवियों को लागू कर सकते हैं (इसलिए दोगुना आकार केवल रेटिना स्क्रीन उपकरणों पर लोड किया जाता है )।

आप छवि से सभी मेटा डेटा को हटाकर आकार भी प्राप्त कर सकते हैं, यह सुनिश्चित नहीं है कि क्या Magento डिफ़ॉल्ट रूप से करता है या नहीं। यह आमतौर पर अच्छी छवि कंप्रेसिंग सेवाओं का एक हिस्सा है।


1
इस दोस्त को समझाने के लिए धन्यवाद! मुझे पता था कि मैगेंटो की छवि टॉमफूलरी के लिए एक तार्किक कारण होना चाहिए! मैं अभी भी कार्यान्वयन के बारे में थोड़ा उलझन में हूँ। इसलिए, मान लें कि मेरे उत्पाद 700px वर्ग के रूप में उत्पाद पृष्ठ पर प्रदर्शित हो रहे हैं, तो मुझे एक छवि बनाने की आवश्यकता होगी जो 1400px वर्ग है, फिर इसी सेटिंग को view.xml फ़ाइल में बदलकर 1400px करने की आवश्यकता है? मैं इसके साथ खेल रहा हूं, साथ ही साथ अन्य उत्तरों में उल्लिखित ओवरराइड, लेकिन उत्पाद पृष्ठ पर गुणवत्ता हमेशा कम होती है जब मैं 'ज़ूम' दृश्य में प्रवेश करने के लिए छवि पर क्लिक करता हूं।
जोशुआ बाढ़

@ जोशफ्लड मुझे लगता है कि ज़ूम की गई छवि को देखने में इसकी खुद की प्रविष्टि है। बड़े आकार के साथ xml, यह ठीक से याद नहीं है कि इसकी क्या कुंजी है या इसका आकार क्या है
OZZIE

कोई चिंता नहीं मैं इसे हल किया। पारितोषिक के लिए धन्यवाद! निश्चित रूप से नहीं कि यह क्या हुआ, लेकिन मैं 'छोटे' चित्रों को दोहरे-आकार वाले लोगों के साथ बदलना भूल गया था, इसलिए समस्या हो सकती है।
जोशुआ बाढ़

यह एक अच्छा जवाब नहीं है। आपको क्या करना चाहिए उत्तरदायी छवियों और srcset विशेषता का उपयोग करें - न केवल सामान्य रूप में एक बड़ी छवि प्रदान करें जो कि जब भी आवश्यक हो, डाउनस्कूल हो जाएगी।
10

@fritzmg "फर्स्ट हैंड" "अगर आपके पास समय है तो आप रिस्पॉन्सिबल इमेजेज को भी लागू कर सकते हैं" .. आपको समझने के लिए कौन सा पार्ट मुश्किल लगता है?
OZZIE
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.