Сжатие изображений — широко используемый метод, позволяющий уменьшить размер файлов изображений при сохранении их визуального качества. Удаляя избыточные или ненужные данные, методы сжатия изображений позволяют ускорить загрузку, снизить требования к хранилищу и улучшить использование полосы пропускания. При программной обработке изображений часто возникает необходимость уменьшить их размеры. Итак, в этой статье вы узнаете, как легко сжимать изображения в приложении Python.
- Библиотека сжатия изображений 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, используя документацию. Кроме того, вы можете поделиться с нами своими отзывами через наш форум.