2011-12-13 2 views
1

Gimp GUI에서 QuickMask는 많은 것들에 매우 유용하지만이 기능은 script-fu를 통해 직접 사용할 수있는 것 같지 않습니다. 프로 시저 브라우저에서 분명한 동등 함은 분명하지 않았습니다.Gimp script-fu에서 QuickMask 기능에 어떻게 액세스 할 수 있습니까?

특히 레이어의 (값/회색) 픽셀을 선택 마스크에 넣는 것이 내가해야 할 기본 작업입니다. 선택 채널의 ID 번호를 얻으려면 gimp-image-get-selection을 사용하고 그 다음에 gimp-edit-paste를 시도했지만 다음 앵커 작업으로 인해 Gimp가 중단되었습니다.

답변

1

다른 답변에는 "이론적 인"방법이 포함되어 있습니다. 그러나 OP는 버전 2.6.5에서 김프에서 버그를 발견했습니다. 그 대답에 대한 의견에 보일 수 있습니다.

O.P.가 의도 한 것에 대한 해결 방법이 있습니다. 지정된 이미지 레이어의 내용을 이미지 선택에 붙여 넣습니다. 선택 드로어 블에서 편집 - 복사 -> 편집 - 붙여 넣기가 표시되면 프로그램 충돌이 발생합니다.

필요 기능 :

해결 방법은 복사 및 페이스트 방법을 통해 원하는 컨텐츠와 새로운 이미지 채널을 생성하고, 선택 채널의 내용을 동일하게 불구자 선택 부하를 사용하는 호출 할 수 (나는 모든 괄호에 능숙하지 않다 나는이 계획의 코드를 붙여하지 않습니다 - 나는 김프에서 파이썬 콘솔을 사용하여 테스트를했다) 이렇게 있습니다 : 나는이 질문에 암시로

>>> img = gimp.image_list()[0] 
>>> ch = pdb.gimp_channel_new(img, img.width, img.height, "bla", 0, (0,0,0)) 
>>> ch 
<gimp.Channel 'bla'> 
>>> pdb.gimp_edit_copy(img.layers[0]) 
1 
>>> pdb.gimp_image_add_channel(img, ch, 0) 
>>> fl = pdb.gimp_edit_paste(ch, 0) 
> >> fl 
<gimp.Layer 'Pasted Layer'> 
>>> pdb.gimp_floating_sel_anchor(fl) 
>>> pdb.gimp_selection_load(ch) 
0

사용자 인터페이스를 통한 빠른 마스크 사용은 선택 영역에서 그리기와 동일하며 선택 영역을 드로어 블 객체로 처리합니다.

그래서 script-fu에서 "quickmask"와 동등한 것을 사용하려면 선택 물을 드로어 블로 검색하고이를 드로잉 할 수있는 매개 변수로 전달해야합니다 - 그리고 선택을 얻으려면 , 그냥 'gimp-image-get-selection'이라고 부르면됩니다.

+0

를이 나를 위해 일하지 않습니다. GIMP 2.6.5를 사용하여 저는 gimp-selection-all, gimp-image-get-selection, gimp-edit-copy [thelayer] 및 gimp-edit-paste [sel 채널]과 같은 그레이 스케일 이미지에서이 작업을 수행합니다. 이 시점에서 gimp-floating-sel-anchor를 호출하면 Gimp가 함정에 빠지게됩니다. 대신 단순히 스크립트를 끝내면 GUI에 레이어에 넣을 수없는 부동 선택 영역 (채널에 연결됨)이 표시되고 앵커 된 경우 김프가 트랩되며 다른 작업이 시도 될 경우 매우 이상하게 작동합니다. – mgkrebbs

+0

이것에 대한 테스트 스크립트 -fu는 다음과 같습니다. http://pastebin.com/3uxjQWsN – mgkrebbs

+0

bugzilla.gnome.org에서 버그를 열 수 있습니까? 그런 식으로 김프 개발자들은 모두 알고있을 것입니다. – jsbueno