سؤال

لدي رمز معرض الصور الذي يقوم بإعادة حجم الصورة وإنشاء الصورة المصغرة. أستخدم ImageMagick للقيام بذلك. قمت بتشغيل صفحة معرض من خلال أداة سرعة صفحة Google ، وكشفت أن الصور والأعروس المصغرة على حد سواء لديها حوالي 10 كيلو بايت من البيانات (ملفات JPEG على وجه التحديد).

ما الذي يمكنني إضافته إلى البرامج النصية لتحسين حجم الملف؟


معلومة اضافية

أنا أستخدم imagick::FILTER_LANCZOS تصفية مع وضع طمس 0.9 عند استدعاء resizeImage() وظيفة. JPEGs لديها إعداد جودة 80.

هل كانت مفيدة؟

المحلول

لقد وجدت هذا السؤال جدا ، "أدوات لتحسين JPEG؟"، هذا يحتوي على بعض المعلومات الجيدة ، لكن الحلول خارج PHP. باستخدام تلميحات من حلول هذا السؤال ، وجدت أن هناك تحسينات بدون خسارة يمكن تنفيذها:

  1. تحسين جداول ترميز هوفمان
  2. إزالة بيانات التعريف (EXIF ، إلخ)

كلاهما يمكن تحقيقه مع ImageMagick من هنا:

  1. بالنسبة الى توثيق ImageMagick, ، يتم حساب جداول ترميز Huffman الأمثل بشكل افتراضي. هذه الخطوة تم الاعتناء بها بالفعل ، يا ياي!
  2. إزالة البيانات الوصفية يمكن إنجازه ببساطة عن طريق استخدام Stripimage () طريقة.

تم تخفيض صورة واحدة اختبرتها بمقدار 12 كيلو بايت. انتقل ملف 600 × 450 من 63.42 كيلو بايت إلى 51.42 كيلو بايت ، وذهب المصغرة 140x105 من 17.98 كيلو بايت إلى 5.98 كيلو بايت.

نصائح أخرى

قم بتشغيل صورك من خلال خدمة Yahoo's Smushit ، حيث يتم تحويل الصور إلى PNG مع عدد دقيق من الألوان. لا خسارة في الجودة ، ولكن خسارة في الوزن :)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top