كيف يمكنني تغيير حجم صورة JPG لتكون أقل من 100 كيلوبايت؟
سلم الجودة المقاس لصورة واحدة بحجم 538.6 كيلوبايت، لماذا يتوقف شريط التمرير عند 131 كيلوبايت ولماذا قطع البكسلات هو الرافعة التي تؤثر فعليًا على ميزانية البايت.
· Updated
تقول نموذج التحميل أن الحد الأقصى هو 100 كيلوبايت. صورتك بحجم 538.6 كيلوبايت. الانعكاس هو سحب شريط جودة الصورة وتحريكه لليسار، ولصورة كبيرة لن يوصلك هذا الانعكاس إلى هناك. أخذنا ملفًا واحدًا وقمنا بتجربة السلم بالكامل: texture.jpg بحجم 3840x2160، 538.6 كيلوبايت على القرص. حتى عند جودة 30، تصل إلى 131 كيلوبايت، وتكون الصورة مرئية بشكل واضح متضررة في ذلك الوقت.
الرقم الذي يتحكم فعليًا في حجم JPEG هو عدد البكسلات. Baseline JPEG يقوم بتشفير الصورة في كتل 8x8، لذا فإن تقليل كلا البعدين إلى النصف يترك ربع الكتل للتخزين. إذا كان لديك فقط شريط التمرير، فسوف تتوقف عند حوالي 131 كيلوبايت على ملف بهذا الحجم. كل رقم أدناه جاء من ضاغطنا ومغير الحجم الخاص بنا، الذي يعمل في علامة تبويب المتصفح. لا توجد خطوة تحميل للانتظار.
لماذا لا يوصلني شريط الجودة إلى 100 كيلوبايت؟
إليك السلم، نفس ملف المصدر في كل مرة، تم تشغيله في ضاغط الصور في الوضع اليدوي. الوضع الذكي يختار الافتراضي الخاص بكل مشفر، وهو 80 لـ JPEG و WebP، و 63 لـ AVIF وبدون فقدان لـ PNG.
| الإعداد | الإخراج | التغيير |
|---|---|---|
| شريط التمرير 90 | 347.8 كيلوبايت | -35% |
| ذكي (شريط التمرير 80) | 286.1 كيلوبايت | -47% |
| شريط التمرير 60 | 212.4 كيلوبايت | -61% |
| شريط التمرير 30 | 131 كيلوبايت | -76% |
ستون نقطة من شريط التمرير حصلت على 216.8 كيلوبايت. المقطع الأخير، من 60 إلى 30، ضحى بالكثير من التفاصيل المرئية مقابل 81.4 كيلوبايت. صورة بحجم 3840x2160 تحتوي على 8.3 مليون بكسل لوصفها، وهناك حد أدنى لعدد البايتات التي ستصفها بهذا الحجم. الحد الأدنى حقيقي.

لماذا الجودة 30 ليست حقًا 30؟
هذا الأمر يربك الناس، ومن واجبنا شرحه. عندما يكون المصدر JPEG، يقوم ضاغطنا بقراءة جداول الكوانتيز من أول 64 كيلوبايت من الملف ويقدر الجودة التي تم حفظها عندها. ثم يقوم شريط التمرير بتعديل هذا التقدير. صورة تم حفظها بجودة 60، مع شريط التمرير عند 80، تشفر عند 48. يتوقف إعادة القياس عن ادعاء جودة لا يمكن للبكسلات تقديمها، لأن إعادة تشفير ملف بجودة 60 عند 90 فقط تنفق بايتات لوصف الأضرار التي تم تضمينها بالفعل. المشفر الموجود أسفل هو MozJPEG. هناك شيء آخر يستحق المعرفة: الضغط يزيل كل قطعة من البيانات الوصفية، EXIF، GPS، ملف ICC والصورة المصغرة المدمجة. البعد يبقى.
لماذا لا يتطابق التقدير بجوار شريط التمرير مع النتيجة؟
لأنه منحنى، وليس تشفير. تعرض اللوحة ذلك الرقم قبل أن يتم تشغيل أي شيء، من شيئين فقط: حجم ملفك وموقع شريط التمرير. إنه البايتات الأصلية مضروبة في شريط التمرير على 100، مرفوعة إلى القوة 1.8. لا ترى أي بكسل من صورتك، ولا تعرف عن إعادة القياس أعلاه أيضًا، لذا في مثال الجودة 60، تطبع الرقم 80 بينما المشفر على وشك استخدام 48.
على نفس ملف الاختبار بحجم 538.6 كيلوبايت، الفجوة واسعة، وتتغير الاتجاه عبر النطاق. عند شريط التمرير 90، توقعت اللوحة 445.5 كيلوبايت مقابل 347.8 كيلوبايت الفعلي، 28% مرتفعة. عند شريط التمرير 30، توقعت 61.7 كيلوبايت مقابل 131 كيلوبايت الفعلي، 53% منخفضة. اقرأ ذلك مرة أخرى إذا كنت تهدف إلى حد 100 كيلوبايت: التقدير يقول أنك تجاوزته بمقدار 38 كيلوبايت في اللحظة التي كان فيها المشفر على وشك أن يفوتها بمقدار 31. الكيلوبايت على بطاقة النتيجة هو الرقم الوحيد الذي يستحق التصرف بناءً عليه. في وضع PNG، لا يوجد تقدير على الإطلاق، وتعرض اللوحة تحذيرًا بدلاً من ذلك.
كيف يمكنني فعليًا الحصول على JPG أقل من 100 كيلوبايت؟
قطع البكسلات أولاً، ثم الضغط. افتح مغير الحجم واستخدم الإعدادات المئوية، وهي 25 و 50 و 75. تأخذ 50% 3840x2160 إلى 1920x1080، ربع البكسلات. تأخذ 25% إلى 960x540، سدس. هناك أيضًا 15 إعدادًا اجتماعيًا بأبعاد ثابتة، من مربع إنستغرام 1080x1080 إلى لافتة يوتيوب 2560x1440، بالإضافة إلى وضع دقيق البكسلات مع أوضاع تغطية، احتواء وتمديد. هذا الوضع الدقيق للبكسلات هو كيف يتم إدخال مربع جواز سفر 600 x 600 دون ضغط الوجه. إذا كنت تهدف إلى 100 كيلوبايت من صورة 4K، ابدأ عند 25% وارتفع.
هناك شيئان حول مغير الحجم يستحقان المعرفة أولاً. يبقى إخراج PNG بدون فقد، وكل تنسيق آخر يتم إعادة تشفيره بجودة 90 بشكل افتراضي، لذا فإن JPEG الذي يمر عبر كلا الأداتين يتم تشفيره مرتين. المصادر المتحركة تخرج كإطار ثابت واحد. وعندما يكون إخراج الضاغط أكبر من الملف الذي قدمته، فإنه يعيد ملفك الأصلي دون تغيير.
هل ستحصل WebP أو AVIF على النتائج بشكل أسرع؟
| المشفر | شريط التمرير 80 | شريط التمرير 63 |
|---|---|---|
| JPEG | 286.1 كيلوبايت | لم يتم قياسه |
| WebP | 290.3 كيلوبايت | 200.6 كيلوبايت |
| AVIF | 312.7 كيلوبايت | 186.9 كيلوبايت |
اقرأ تلك الجدول مرتين. عند نفس موضع شريط التمرير 80، أنتج JPEG أصغر ملف و AVIF أكبر ملف، مما يبدو عكسيًا حتى تتذكر إعادة القياس أعلاه. تم قياس 80 لـ JPEG ضد الجودة المقدرة للمصدر، لذا لم يكن حقًا 80، بينما تأخذ WebP و AVIF الرقم حرفيًا. إذا قمت بتخفيضها إلى الافتراضي الذكي لـ AVIF البالغ 63، فإن الترميزات الحديثة تتفوق: 200.6 كيلوبايت لـ WebP، 186.9 كيلوبايت لـ AVIF. كلاهما لا يزال بعيدًا عن 100 كيلوبايت عند 3840x2160، وهو الهدف الكامل. كما أن AVIF كلف حوالي 10 إلى 11 ثانية لكل تشفير على هذه الآلة، بينما عادت JPEG و WebP على الفور، و دعم المتصفح لا يزال حديثًا. مسارنا من JPG إلى WebP مقفل على 4:2:0 chroma، لذا فإن الحواف الحمراء الصلبة تخفف قليلاً.
ماذا لو كان ملفي PNG مع شفافية؟
رافعة مختلفة تمامًا. قمنا بتشغيل alpha.png، 900x606 و 942.4 كيلوبايت مع قناة ألفا حقيقية، عبر كلا وضعي PNG. خيار "لا ضغط" هو oxipng بمستوى 3، بدون فقد بالكامل، وعاد بحجم 383.9 كيلوبايت، قطع بنسبة 59% مع كل بكسل سليم. خيار "حجم ملف أصغر" يعمل libimagequant، الذي يقلل الصورة إلى لوحة، وعاد بحجم 98.3 كيلوبايت. هذا خصم بنسبة 90%، ويتجاوز ميزانية 100 كيلوبايت دون لمس الأبعاد. اللوحات تتسبب في تدرجات سلسة، لذا تحقق من السماء أو ظل ناعم قبل شحنها. الشفافية تبقى في كلا الوضعين. اطلب إخراج JPEG وستختفي قناة الألفا، وتكون مدمجة على الأبيض.
هل يمكنني قص الصورة للوصول إلى 100 كيلوبايت؟
جزئيًا. القص يزيل البكسلات، لذا فإنه يزيل البايتات. يأخذ مقصنا ملفًا واحدًا في كل مرة حتى 10 ميغابايت ويقدم ثمانية إعدادات نسبية بالإضافة إلى نسبة مخصصة. لا يوجد حقل لكتابة عرض مستهدف بالبكسلات، لذا لا يمكنك استهداف حجم إخراج دقيق، وكل قص من تنسيق فقدي يتم إعادة تشفيره بجودة ثابتة تبلغ 92. يعود GIF كصورة PNG بإطار واحد. لتحقيق ميزانية بايت، توفر إعدادات النسبة في مغير الحجم تحكمًا أكثر مباشرة.
هل أي من هذا يرفع صورتي؟
لا. هذا التطبيق ليس لديه مسارات API ولا إجراءات خادم، والطلبات الشبكية الوحيدة التي يقوم بها هي جلبات من نفس الأصل لأصوله الخاصة وشفرة WASM. يتم فك تشفير ملفك إلى لوحة ويتم إعادة تشفيره مرة أخرى بواسطة WASM في نفس علامة التبويب. تعمل معظم الأدوات الأخرى في هذه الفئة بطريقة عكسية: تسافر صورتك إلى خادمهم وتجلس في تخزينهم حتى يتم تشغيل مؤقت الاحتفاظ. هذه هي الفرق التي توضحها صفحة الخصوصية. كما أن هذا هو السبب في أن الدفعة هنا محدودة بـ 10 ملفات و 50 ميغابايت، حيث يقوم معالجك الخاص بالعمل. نفس الحد هو السبب في أن مجلد يحتوي على 300 ملف ليس مهمة للمتصفح.