2010-03-29 13 views
8

मेरे पास फोटो गैलरी कोड है जो छवि को फिर से आकार देने और थंबनेल निर्माण करता है। मैं ऐसा करने के लिए ImageMagick का उपयोग करें। मैंने Google के पेज स्पीड टूल के माध्यम से एक गैलरी पेज चलाया और यह पता चला कि पुनः आकार की छवियों और थंबनेल दोनों में अतिरिक्त 10 केबी डेटा (जेपीईजी फाइलें विशेष रूप से) हैं।जेपीजी फ़ाइल आकार अनुकूलन - PHP, ImageMagick, और Google की पृष्ठ गति

फ़ाइल आकार को अनुकूलित करने के लिए मैं अपनी स्क्रिप्ट में क्या जोड़ सकता हूं?


अतिरिक्त जानकारी

मैं जब resizeImage() समारोह बुला 0.9 की एक कलंक सेटिंग के साथ imagick::FILTER_LANCZOS फिल्टर का उपयोग कर रहा हूँ। जेपीईजी की गुणवत्ता सेटिंग 80 है।

+0

आप छवि मैगिक क्या तर्क दे रहे हैं? – asgerhallas

+0

सेटिंग्स/तर्कों को संबोधित करने के लिए मेरा प्रश्न अपडेट किया गया। मेरी समझ यह है कि Google की पेज स्पीड 10KB की जानकारी को हानि रहित तरीके से हटा देती है, यह छवि को और भी संपीड़ित नहीं करती है। क्या मेटा-डेटा मैं किसी भी तरह से बाहर निकल सकता हूं? – Sonny

उत्तर

10

मुझे यह SO प्रश्न, "Tools for JPEG optimization?" मिला, जिसमें कुछ अच्छी जानकारी है, लेकिन समाधान PHP के बाहर हैं। उस प्रश्न के समाधान से संकेत का उपयोग करते हुए मैंने पाया दो दोषरहित अनुकूलन नहीं है जो किया जा सकता है वहाँ थे कि:

  1. Huffman का अनुकूलन कोडिंग टेबल
  2. मेटा डेटा की
  3. हटाने (EXIF, आदि)

  1. ImageMagick documentation के अनुसार, इष्टतम Huffman कोडिंग टेबल डिफ़ॉल्ट रूप से गणना: दोनों ImageMagick साथ इस तरह से पूरा किया जा सकता। इस कदम को पहले से ही ख्याल रखा गया है, यय!
  2. meta-data को हटाने stripImage() विधि का उपयोग करके बहुत आसानी से पूरा किया जा सकता है।

एक छवि जिसे मैंने परीक्षण किया था 12KB से कम किया गया था। 600x450 फ़ाइल 63.42 केबी से 51.42 केबी तक चली गई, और 140x105 थंबनेल 17.98 केबी से 5.98 केबी तक चला गया।

3

याहू की SmushIt सेवा के माध्यम से अपनी छवियों को चलाएं, जहां छवियों को रंगों की एक सटीक संख्या के साथ पीएनजी में परिवर्तित कर दिया जाता है। गुणवत्ता में कोई हानि नहीं, लेकिन वजन में कमी :)

+1

यह एक चिकना उपकरण है। ऐसा लगता है कि उन्होंने दुर्भाग्यवश सेवा के रूप में इसे स्थापित नहीं किया है। – Sonny

संबंधित मुद्दे