Страницы

Поиск по вопросам

вторник, 28 января 2020 г.

как можно в python открывать, редактировать, и сохранять графические файлы?

#python #изображения


я знаю, что для работы с файлами в python используется функция open, но как с помощью
нее или без ее помощи прямо в программе редактировать файлы, например, с расширением .png
    


Ответы

Ответ 1



Как я понимаю, по-разному. Вот, к примеру, с использованием библиотеки PIL(python imaging library): # конвертируем картинку from PIL import Image, ImageDraw img = Image.open('pic.png') # открываем PNG img.save('pic.gif') # сохраняем как GIF # создаем картинку, пишем в неё текст и сохраняем from PIL import Image, ImageDraw text = "Abracadabra :)" # готовим текст color = (0, 100, 100) # создаем цвет img = Image.new('RGB', (100, 100), color) # создаем изображение imgDrawer = ImageDraw.Draw(img) imgDrawer.text((10, 20), text) # пишем на изображении наш текст img.save("pic.png") # сохраняем в PNG # проводим манипуляции с картинкой, получаем ее свойства from PIL import Image, ImageDraw img = Image.open('pic.png') #открываем изображение format = img.format #формат изображения size = img.size #размер изображения histogram = image.histogram() # получаем гистограмму Библиотека позволяет осуществлять массу манипуляций с графическими форматами. Рекомендую также её форк - Pillow: как минимум, интересна существенно возросшей скоростью (для нас еще тем, что подддерживает, в отличие от PIL, формат PNG с одного из наших приборов). Предупреждения: в версии Pillow 5.0 прекратилась поддержка питона 3.3! начиная с версии Pillow 5.3.0 наблюдается "странная" работа с многостраничными TIFF-файлами. Пока не разобрались, в чём же дело. Так что, если вы работаете с подобным форматом, рекомендую пока не пользовать версии 5.3.0 и выше (новое) В версии Pillow 6.0.0 прекратилась поддержка питона 3.4! Если зачем-то предпочитаете оставаться на 3.4, пользуйтесь версией 5.4.1 (новое) В версии Pillow 6.0.0 убран ряд функций, ранее объявленных устаревшими. Большинство из них реализовано в модуле ImageFilter.

Комментариев нет:

Отправить комментарий