Консоль Python может фактически позволить вам сделать это в нескольких строках экрана напрямую, без создания сценария -
for img in gimp.image_list():
img.scale(int(img.width * 0.66), int(img.height*0.66))
tmp = pdb.gimp_image_duplicate(img)
pdb.gimp_image_merge_visible_layers(tmp, CLIP_TO_IMAGE)
pdb.gimp_file_save(tmp, tmp.layers[0], img.filename, img.filename)
pdb.gimp_image_delete(tmp)
Что занимает больше строки, чем следовало бы, так это то, что GIMP действительно хочет "сохранить" изображение как есть - так что нужно выполнить шаги по дублированию (внутренне), объединению в один слой и удалению (просто удаляя его из памяти GIMP, а не с диска) - если все ваши изображения уже являются одним слоем, это можно уменьшить до следующих трех строк:
for img in gimp.image_list():
img.scale(int(img.width * 0.66), int(img.height*0.66))
pdb.gimp_file_save(img, img.layers[0], img.filename, img.filename)
Чтобы ввести их (или просто скопировать и вставить прямо отсюда туда), перейдите в Filters->Python->Console
и введите или вставьте приведенные выше фрагменты в приглашение >>>
.
Если вы хотите это сделать, если вы хотите автоматизировать любую другую операцию, не торопитесь, нажмите кнопку "Обзор" в диалоговом окне консоли Python и проверьте все доступные операции. Нажатие на кнопку "Применить" вставит шаблон вызова к этой функции в вашем приглашении (не забудьте добавить префикс пробелы к этому вставленному шаблону, чтобы этот вызов был выровнен внутри блока for
- и заменить предложенную переменную шаблона. имена для фактических параметров)