2009-03-05 8 views
1

Можно ли скопировать направляющие линии с одного изображения на другое?
Мне нужно это, потому что у меня есть несколько изображений, которые нуждаются в точно такой же композиции, поэтому я хочу использовать для этого направляющие линии.
Невозможно выбрать & скопируйте направляющую линию, поэтому я должен добавить их вручную.Как скопировать направляющие линии в Gimp?

Было бы неплохо, если есть небольшой скрипт сценария-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) 

Заранее спасибо!

+0

Вы имеете в виду копии направляющих линий от одного изображения к другому через скрипт-фу? – curtisk

ответ

5

Я действительно хотел бы помочь вам, но я не уверен, что понимаю, что вы пытаетесь сделать. Не могли бы вы изменить вопрос, чтобы предоставить более подробную информацию?

Угадайте (в ожидании дополнительной информации) вы ищете что-то вроде этого?

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, который использует синтаксис, отличный от схемы иш сценария фу.

Но первый вопрос: Что вы пытаетесь достичь? - после этого мы можем беспокоиться о деталях того, как.

+0

Не могли бы вы повторить этот вопрос с _exactly_ этим ответом? Я не могу принять ваш ответ в качестве правильного ответа. Я хочу закончить этот вопрос и дать вам правильную репутацию. – guerda

+0

Выполнено, но я не уверен, что понимаю, почему. – MarkusQ

+0

Баунти закончилось без принятого ответа. Поэтому я не могу принять ЛЮБОЙ ответ как правильный, даже если ваш ответ правильный. Я думал, что если новый Ответ был отправлен. Я был бы в состоянии принять этот новый. Это было неправильно, я связался с SO-Team. Большое спасибо за вашу помощь! – guerda

0

Будучи желающим изучить скрипты Gimp (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 (см Preferences> Папки) и перезапустить Gimp, чтобы увидеть опцию CopyGuideline под Tools. Затем откройте два изображения, выберите тот, который указан в Руководстве, и выберите CopyGuidelines для запуска скрипта.