1. ملخص سريع
- محلي 100% بدون رفع.
- منزلق جودة 30–95.
- تنسيق تلقائي يختار JPEG/WebP للأصغر حجماً.
- معالجة دفعية لعدة صور متتالية.
- تنزيل متعدد / ZIP إذا تجاوز العدد 5.
- مقارنة فورية نافذة جانبية للأصلي والمُحسَّن.
2. سير عمل مقترح
- أضف الصور (JPG, PNG, WebP).
- حدد جودة عامة (80 للصور، 75 للرسوم).
- اترك Auto في التنسيق.
- Optimize all ثم راقب نسبة التوفير.
- ظهور عيوب؟ ارفع الجودة 5 نقاط.
3. الآلية الداخلية
يُفك ترميز الملف إلى <img>
ثم يرسم على <canvas>
ويُعاد ترميزه بـ canvas.toBlob()
بصيغة WebP أو JPEG. لا تغادر البيانات المتصفح وتُزال ObjectURLs بعد الاستخدام.
4. اختيار الصيغة
PNG خاصةً مع شفافية → WebP غالباً. صور JPEG تبقى أحياناً إذا كان الفرق طفيفاً. يوفر WebP عادة 20–35% حجماً.
5. الأداء والحدود
- تعقيد O(n) بعدد البكسلات.
- صور متوسطة ≤3000px تُعالج في أجزاء من الثانية.
- فوق 6000px أبطأ/استهلاك ذاكرة أعلى.
- عند الضغط على الذاكرة استخدم دفعات أصغر.
6. الخصوصية
مناسب لمحتوى حساس؛ النموذج يعتمد على إعلانات خفيفة لا جمع بيانات.
7. قائمة سريعة
- <250KB صورة رئيسية / <100KB مدمجة.
- أبعاد مضبوطة قبل الضغط.
- WebP متى وُجد توفير.
- بدون عيوب مرئية.
8. خارطة الطريق
AVIF، إعدادات ذكية، مقاييس SSIM/PSNR محلياً.