"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني ضبط مستويات ضغط JPEG باستخدام ImageIO الخاص بـ Java؟

كيف يمكنني ضبط مستويات ضغط JPEG باستخدام ImageIO الخاص بـ Java؟

تم النشر بتاريخ 2024-11-02
تصفح:108

How Can I Fine-Tune JPEG Compression Levels Using Java\'s ImageIO?

ضبط مستوى ضغط JPEG في Java باستخدام ImageIO

في مجال معالجة الصور، يعد التحكم في مستوى ضغط ملفات JPEG أمرًا ضروريًا لتحقيق التوازن جودة الصورة وحجم الملف. على الرغم من أن مستوى الضغط الافتراضي لـ ImageIO قد لا يكون كافيًا دائمًا، فإن هذه المقالة تتعمق في كيفية ضبط هذه المعلمة.

الحصول على ImageWriter مباشرة

يتضمن النهج المباشر استرداد ImageWriter لتنسيق JPEG:

ImageWriter jpgWriter = ImageIO.getImageWritersByFormatName("jpg").next();

إعداد معلمات الضغط الصريحة

لتعيين مستوى الضغط بشكل صريح، استخدم فئة ImageWriteParam:

ImageWriteParam jpgWriteParam = jpgWriter.getDefaultWriteParam();
jpgWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);

ضبط جودة الضغط

يتم تحديد مستوى الضغط المطلوب كتعويم بين 0.0f (أقصى ضغط، الحد الأدنى من الجودة) و1.0f (الحد الأدنى من الضغط، الحد الأقصى للجودة):

jpgWriteParam.setCompressionQuality(0.7f); // Set a compression quality of 70%

كتابة الإخراج يتطلب ImageWriter ImageOutputStream لإخراج الصورة:

ImageOutputStream outputStream = createOutputStream(); // إنشاء OutputStream (على سبيل المثال، FileImageOutputStream) jpgWriter.setOutput(outputStream);
ImageOutputStream outputStream = createOutputStream(); // Generate an OutputStream (e.g., a FileImageOutputStream)
jpgWriter.setOutput(outputStream);
Finalization

بمجرد كتابة الصورة، يجب التخلص من ImageWriter:

jpgWriter.dispose ();
jpgWriter.dispose();
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3