Как скопировать направляющие линии в The Gimp?
Вопрос
Можно ли скопировать направляющие линии из одного изображения в другое?
Я нуждаюсь в этом, потому что у меня есть несколько изображений, которые нуждаются в одной и той же композиции, поэтому я хочу использовать для этого контрольные линии.
Нет возможности выбрать & amp; скопируйте направляющую линию, поэтому я должен добавить их вручную.
Было бы неплохо, если бы был небольшой скрипт script-fu.
Хорошо, есть несколько интересных функций, которые я нашел:
(gimp-image-find-next-guide image index)
(gimp_image_add_hguide image xposition)
(gimp_image_add_vguide image yposition)
(gimp_image_get_guide_orientation image guide)
(gimp_image_get_guide_position image guide)
Заранее спасибо!
Решение
Я бы очень хотел вам помочь, но я не уверен, что понимаю, что вы пытаетесь сделать. Не могли бы вы отредактировать вопрос, чтобы предоставить более подробную информацию? Р>
На предположение (в ожидании дополнительной информации) вы ищете что-то подобное?
guide = 0
while guide = gimp_image_find_next_guide (image_1,guide) != 0
position = gimp_image_get_guide_position (image_1,guide)
if gimp_image_get_guide_orientation (image_1,guide) == 0
gimp_image_add_hguide (image_2,position)
else
gimp_image_add_vguide (image_2,position)
Обратите внимание, что это псевдокод, поскольку указанные вами функции, по-видимому, являются частью API, который использует синтаксис, отличный от сценария схемы-fu:
Но первый вопрос - что вы пытаетесь выполнить? - после этого мы можем позаботиться о деталях того, как это сделать.
Другие советы
Давным-давно желая изучить Gimp Scripts (PythonFu) и требуя этой функциональности, я использовал псевдокод, предоставляемый MarkusQ, и это удобное руководство https://jacksonbates.wordpress.com/python-fu-gimp-scripting-tutorial-pages/ для создания сценария для копирования рекомендаций от одного изображения к другому.
#!/usr/bin/env python
from gimpfu import *
def CopyGuidelines(image_1, drawable, image_2):
guide = pdb.gimp_image_find_next_guide(image_1, 0)
while guide != 0 :
position = pdb.gimp_image_get_guide_position (image_1,guide)
if pdb.gimp_image_get_guide_orientation (image_1,guide) == 0:
pdb.gimp_image_add_hguide (image_2,position)
else:
pdb.gimp_image_add_vguide (image_2,position)
guide = pdb.gimp_image_find_next_guide (image_1,guide)
register(
"python-fu-CopyGuidelines",
"Copy Guidelines",
"Copy Guidelines from one image to another",
"Anthony", "JustAGuyCoding", "2017",
"Copy Guidelines",
"", # type of image it works on (*, RGB, RGB*, RGBA, GRAY etc...)
[
(PF_IMAGE, "image_1", "takes current image", None),
(PF_DRAWABLE, "drawable", "Input layer", None),
(PF_IMAGE, "image_2", "takes other image", None)
],
[],
CopyGuidelines, menu="<Image>/Tools")
main()
Вам необходимо скопировать его в файл CopyGuidelines.py и поместить его в каталог подключаемых модулей Gimp (см. «Настройки»> «Папки») и перезапустить Gimp, чтобы увидеть параметр CopyGuideline в разделе «Инструменты». Затем откройте два изображения, выберите одно с Руководствами и выберите CopyGuidelines для запуска сценария.