Стискайте зображення в Python

Стиснення зображень – це широко використовуваний метод, який зменшує розмір файлу зображень, зберігаючи їх візуальну якість. Завдяки видаленню зайвих або непотрібних даних методи стиснення зображень дозволяють швидше завантажувати, зменшувати вимоги до пам’яті та покращувати використання пропускної здатності. Під час програмної обробки зображень часто потрібно зменшити їх розмір. Тому в цій статті ви дізнаєтеся, як легко стискати зображення в програмі Python.

Бібліотека стиснення зображень Python

Щоб стиснути зображення в Python, ми будемо використовувати Aspose.Imaging for Python. Це потужна бібліотека для обробки зображень, яка пропонує низку функцій для обробки та керування зображеннями з ваших програм Python. Ви можете завантажити бібліотеку або встановити її за допомогою наступної команди.

> pip install aspose-imaging-python-net 

Стисніть зображення в Python

Щоб стиснути зображення, можна встановити значення рівня стиснення від 0 до 9. Значення 9 означає максимальне стиснення, а 0 — режим збереження. Нижче наведено кроки для стиснення зображення PNG у Python.

  • Спочатку завантажте зображення за допомогою класу Image.
  • Потім створіть об’єкт класу 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 без будь-яких обмежень оцінки.

Стиснення зображень онлайн

Ми також створили веб-інструмент, безкоштовний компресор зображень, щоб стискати зображення онлайн. Ви можете використовувати цей інструмент, щоб стиснути скільки завгодно зображень, не створюючи облікового запису.

Висновок

Ця стаття надала вам ефективне рішення для стиснення зображень у Python. За допомогою кроків і прикладу коду ви навчилися легко стискати зображення. Крім того, ми представили вам безкоштовний онлайн-інструмент для стиснення зображень, який базується на Aspose.Imaging for Python. Ви можете використовувати інструмент будь-де без створення облікового запису.

Ви можете дізнатися більше про нашу бібліотеку обробки зображень Python за допомогою документації. Крім того, ви можете поділитися з нами своїм відгуком через наш форум.

Дивись також