ضغط الصور في بايثون

ضغط الصورة هي طريقة شائعة الاستخدام تقلل من حجم ملف الصور مع الحفاظ على جودتها المرئية. من خلال إزالة البيانات الزائدة عن الحاجة أو غير الضرورية ، تسمح تقنيات ضغط الصور بعمليات تحميل أسرع ، ومتطلبات تخزين أقل ، واستخدام محسن للنطاق الترددي. أثناء معالجة الصور برمجيًا ، غالبًا ما تحتاج إلى تقليل أحجامها. لذلك في هذه المقالة ، ستتعلم كيفية ضغط الصور بسهولة في تطبيق Python.

مكتبة ضغط الصور بيثون

لضغط الصور في بايثون ، سنستخدم Aspose.Imaging for Python. إنها مكتبة معالجة صور قوية تقدم مجموعة من الميزات لمعالجة الصور ومعالجتها من داخل تطبيقات Python الخاصة بك. يمكنك إما تنزيل المكتبة أو تثبيتها باستخدام الأمر التالي.

> pip install aspose-imaging-python-net 

ضغط صورة في بايثون

لضغط صورة ، يمكنك تعيين قيمة مستوى الضغط من 0 إلى 9. تمثل القيمة 9 أقصى ضغط وتمثل القيمة 0 وضع التخزين. فيما يلي خطوات ضغط صورة PNG في Python.

  • أولاً ، قم بتحميل الصورة باستخدام فئة الصورة.
  • ثم قم بإنشاء كائن من فئة PngOptions.
  • بعد ذلك ، اضبط مستوى الضغط باستخدام خاصية PngOptions.compressionlevel.
  • أخيرًا ، احفظ الصورة المضغوطة باستخدام طريقة Image.save(String ، PngOptions).

يوضح نموذج التعليمات البرمجية التالي كيفية ضغط صورة في Python.

from aspose.imaging.fileformats.png import PngColorType
from aspose.imaging.imageoptions import PngOptions
from aspose.imaging import ColorPaletteHelper, Image
import os


if 'TEMPLATE_DIR' in os.environ:
	templates_folder = os.environ['TEMPLATE_DIR']
else:
	templates_folder = r"C:\Users\USER\Downloads\templates"

delete_output = 'SAVE_OUTPUT' not in os.environ


def compress_png():
  	# مسارات ملفات الإدخال والإخراج
	input_file = os.path.join(templates_folder, "template.png")
	output_file = os.path.join(templates_folder, "compressed_png.png")
  
  	# تحميل الصورة
	with Image.load(input_file) as image:
		obj_init = PngOptions()
    
    		# ضبط مستوى الضغط
		obj_init.compression_level = 9
		obj_init.progressive = True
		obj_init.color_type = PngColorType.INDEXED_COLOR
		obj_init.palette = ColorPaletteHelper.get_close_image_palette(image, 1 << 5)
    
    		# احفظ الصورة المضغوطة
		image.save(output_file, obj_init)

	if delete_output:
		os.remove(output_file)

لضغط الصور ذات التنسيقات الأخرى ، سنستخدم فئة ImageOption.على سبيل المثال ، لضغط صور JPG ، سنستخدم JpegOptions ولصور Tiff ، سنستخدم TiffOptions فئة.

احصل على مكتبة مجانية لضغط الصور

يمكنك الحصول على ترخيص مؤقت مجاني وضغط الصور في تطبيقات Python الخاصة بك دون أي قيود تقييم.

ضغط الصور على الإنترنت

لقد أنشأنا أيضًا أداة قائمة على الويب ، أداة ضغط الصور المجانية ، لضغط الصور عبر الإنترنت. يمكنك استخدام هذه الأداة لضغط أي عدد تريده من الصور دون إنشاء حساب.

خاتمة

قدمت لك هذه المقالة حلاً فعالاً لضغط الصور في بايثون. بمساعدة الخطوات وعينة التعليمات البرمجية ، تعلمت كيفية ضغط الصورة دون عناء. بالإضافة إلى ذلك ، قدمنا لك أداة مجانية لضغط الصور عبر الإنترنت ، والتي تعتمد على Aspose.imaging for Python. يمكنك استخدام الأداة من أي مكان دون إنشاء حساب.

يمكنك استكشاف المزيد حول مكتبة معالجة صور Python باستخدام التوثيق. يمكنك أيضًا مشاركة تعليقاتك معنا عبر المنتدى.

أنظر أيضا