Первый пост здесь, хотя я уже потратил несколько дней на поиск различных запросов здесь.Python 3.6, Обработка подушек и tiff.
Я бы хотел автоматизировать одну из наших ручных задач, изменив размеры некоторых изображений с очень большого до формата А4.Мы работаем в формате TIFF, который иногда (часто) содержит более одной страницы.Поэтому я написал:
from PIL import Image,
...
def image_resize(path, dcinput, file):
dcfake = read_config(configlocation)["resize"]["dcfake"]
try:
imagehandler = Image.open(path+file)
imagehandler = imagehandler.resize((2496, 3495), Image.ANTIALIAS)
imagehandler.save(dcinput+file, optimize=True, quality=95)
except Exception:
Но очень (не) очевидно, что конвертируется только первая страница TIFF.Это не совсем то, что я ожидаю от этой библиотеки, однако попытался копать и нашел способ перечислять каждую страницу из TIFF и сохранять ее как отдельный файл.
imagehandler = Image.open(path+file)
for i, page in enumerate(ImageSequence.Iterator(imagehandler)):
page = page.resize((2496, 3495), Image.ANTIALIAS)
page.save(dcinput + "proces%i.tif" %i, optimize=True, quality=95, save_all=True)
Теперь я могу использовать imagemagick или некоторые внутренние команды для преобразования нескольких страниц в одну, но это не то, что я хочу делать, так как это приводит к усложнению кода.
Мойвопрос, есть ли единорог, который может помочь мне:
1) изменить размер всех страниц данного многостраничного tiff на лету
2) создать tiff из нескольких tiff
Я бы хотел сосредоточитьсятолько на модулях Python.
Thx.