2014-04-26 1 views
0

수천 개의 이미지 배경색을 변경해야합니다. 나는 김프에서 하나씩 그것을하는 법을 안다. 그러나 스크립트를 사용하여 수천 번 자동으로 수행하는 방법에 대한 아이디어가 있습니까?수천 개의 이미지에 대한 이미지 배경을 변경하십시오.

감사합니다.

+0

에서 문서를 확인하십시오. 예를 들어, 스크립트를 사용하여 수행 할 수 있지만 스크립트는 "수행 방법을 알고 있습니다"- 추가로 완전한 대답, 당신은 조금 더 설명 할 수 있습니다. – jsbueno

답변

0

program-fu 또는 python-fu 콘솔을 통해 김프를 "파일럿"할 수 있습니다. 프로그래밍 방식으로 대화식으로 프로그램을 완성 할 수 있습니다.

당신이 만든 테스트에서, 당신은 그 중 하나에서 스크립트를 작성할 수 있습니다 (실제로 스크립트 -fu는 Scheme입니다). 파이썬을 사용하여 파일과 문자열을 상위 레벨로 다루는 것이 좋습니다.

열고 >>> 프롬프트에서 filters->python->console

:

from glob import glob 
for name in glob("/my/directory/*jpg"): 
    img = pdb.gimp_file_load(name, name) 
    pdb.gimp_display_new(img) 

예를 들어, GIMP (이, 화상 처리에 적합하지 않은 예이다) 디렉토리의 모든 화상 파일을 열 갖도록

(파이썬의 코드 블록을 구분하는 방법 때문에 for 행 뒤에 공백이 있는지 확인하는 것이 중요합니다. 대화 형으로 묶을 때 4 공백이 필요하지 않습니다. ugh, 각 라인에 동일한 식별자가 사용됩니다)

이렇게하면 모든 디렉토리에서 모든 jpg 파일이 열립니다. pdb.gimp_display_new를 호출하는 대신 무엇을해야 할지를 알면 "img"객체를 이미지로 사용하여 이미지에 대한 작업을 수행하는 함수를 호출합니다. GIMP PDB API는 파이썬 콘솔 창 자체에서 "browsw"버튼을 클릭하여 볼 수 있습니다.

작업이 끝나면 pdb.gimp_file_save으로 전화하여 이미지를 fpg 또는 png 파일로 다시 내 보냅니다 (주의 : 이미지를 여는 데 사용한 파일 이름이 아닌 다른 파일 이름을 사용하거나 덮어 씁니다.)), 그리고 pdb.gimp_image_delete을 사용하여 해당 이미지에서 사용하는 메모리를 확보합니다 (메모리 객체 만 삭제합니다. 열린 이미지 또는 디스크에 내 보낸 이미지는 물론 다루지 않습니다).

이미지 배치를 실행하기 전에 대화식 모드에서 API 함수를 호출해야합니다.

김프 만들려면 : - (img = gimp.image_list()[0] 할 변수의 목록의 첫 번째 이미지를 얻을이 열려있는 모든 이미지 파이썬 목록을 반환합니다) GIMP에서 기존의 열린 이미지에 이미지 참조를 검색하려면, gimp.image_list() 전화 -python 플러그인을 개발할 때 http://www.gimp.org/docs/python/

관련 문제