문제

내가하고 싶은 일은 파이썬 프로그램에서 김프를 열고 동시에 김프가 이미지를 열고 레이어를 추가하는 파이썬 스크립트로 시작합니다 ...글쎄, 어떻게 그걸 성취 할 수 있는가? (나는 김프가 더 잘 문서화 된 ...)

업데이트 :

다음을 수행했습니다. subprocess.Popen(["gimp", "--batch-interpreter" , "python-fu-eval" , "-b" ,"\'import sys; sys.path.append(\"/home/antoni4040\"); import gimpp; from gimpfu import *; gimpp.main()\'"]), 콘솔이 "일괄 명령이 성공적으로 실행"되지 않더라도 아무 일도 일어나지 않습니다 ...

update2 :

from gimpfu import *

def gimpp():
    g = gimp.pdb
    images = gimp.image_list() 
    my_image = images[0]
    layers = my_image.layers
    new_image = g.gimp_file_load_layer("/home/antoni4040/Έγγραφα/Layout.png")
    my_image.add_layer(new_image)
    new_layer = g.gimp_layers_new(my_image,  1024, 1024, RGBA_IMAGE, "PaintHere", 0, NORMAL_MODE)
    my_image.add_layer(new_layer)

register('GimpSync', "Sync Gimp with Blender", "", "", "", "", "<Image>/SyncWithBlender", '*', [], [], gimpp)

main()   
.

도움이 되었습니까?

해결책

OK 나는 마침내 그것을 일하고 있습니다. 나는 김프 파이썬 스크립팅 톤을 할 수있는 김프 플러그인을 만드는 것을 사용했습니다. 언급 한 층을 포함한 물건. 그런 다음 명령 줄에서 인수를 파이썬 김프 스크립트로 통과하는 명령 줄에서 김프를 실행할 수 있습니다. 기사 김프 일괄에서 파이썬 -HU 사용 모드 는 명령 줄에서 김프 플러그인을 호출하는 방법을 배우는 훌륭한 자원이었습니다. 아래의 예제는 지정된 이미지를 김프에로드하고 가로로 플립하고 김프를 저장하고 종료합니다.

flip.py는 김프 플러그인이므로 ~ / .gimp-2.6 / 플러그인 / 플립 인 / 플립. 파이의 플러그인 디렉토리에 배치해야합니다.

flip.py

from gimpfu import pdb, main, register, PF_STRING
from gimpenums import ORIENTATION_HORIZONTAL

def flip(file):
    image = pdb.gimp_file_load(file, file)
    drawable = pdb.gimp_image_get_active_layer(image)
    pdb.gimp_image_flip(image, ORIENTATION_HORIZONTAL)
    pdb.gimp_file_save(image, drawable, file, file)
    pdb.gimp_image_delete(image)

args = [(PF_STRING, 'file', 'GlobPattern', '*.*')]
register('python-flip', '', '', '', '', '', '', '', args, [], flip)

main()
.

터미널을 실행할 수 있습니다 :

gimp -i -b '(python-flip RUN-NONINTERACTIVE "/tmp/test.jpg")' -b '(gimp-quit 0)'
.

또는 Windows CMD :

gimp-console.exe -i -b "(python-flip RUN-NONINTERACTIVE """<test.jpg>""")" -b "(gimp-quit 0)"
.

또는 다음을 사용하여 Python 스크립트에서 동일하게 실행할 수 있습니다.

from subprocess import check_output
cmd = '(python-flip RUN-NONINTERACTIVE "/tmp/test.jpg")'
output = check_output(['/usr/bin/gimp', '-i', '-b', cmd, '-b', '(gimp-quit 0)'])
print output
.

나는 그들이 모두 작동하는지 확인하기 위해 둘 다 테스트했습니다. 각 스크립트가 실행 된 후 이미지가 뒤집 으면 이미지가 뒤집 힙니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top