Como copiar linhas de guia em The Gimp?
Pergunta
É possível copiar as linhas de orientação de uma imagem para outra?
Eu preciso disso porque eu tenho várias imagens que precisam exatamente a mesma composição, então eu quero usar as linhas de guia para isso.
Não há nenhuma opção para selecionar e copiar uma linha guia, então eu devo adicioná-los manualmente.
Seria bom, se há um script pequeno script-fu.
Ok, há algumas funções interessantes que encontrei:
(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)
Agradecemos antecipadamente!
Solução
Eu realmente gostaria de ajudá-lo, mas não tenho certeza eu entendo o que você está tentando fazer. você poderia editar a pergunta para fornecer mais detalhes?
Em uma suposição (pendente mais informações) que você está procurando algo parecido com isto?
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)
Note que este é pseudo-código, uma vez que as funções que você mencionou parecem ser parte de uma API que está usando uma sintaxe diferente do roteiro fu esquema-ish.
Mas a primeira pergunta é o que você está tentando realizar -?. Depois disso, pode se preocupar com os detalhes de como
Outras dicas
Depois de ter sido querendo aprender Scripts GIMP (PythonFu) por um tempo e que requer essa funcionalidade eu usei o código Pseudo fornecido pelo MarkusQ e este prático tutorial https://jacksonbates.wordpress.com/python-fu-gimp-scripting-tutorial-pages/ para criar um script para copiar diretrizes a partir de uma imagem para outra.
#!/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()
Você precisa copiar isso em um arquivo CopyGuidelines.py e colocá-lo a seus diretório do plugin do Gimp (Veja Preferências> Pastas) e reiniciar o Gimp para ver a opção CopyGuideline em Ferramentas. Em seguida, abra as duas imagens, selecione aquele com as Diretrizes e selecione CopyGuidelines para executar o script.