반응형
지난 포스팅 말미에서는
사용자변수의 image와 drawable 파라미터를 통해
각각 김프의 프로젝트파일, 활성화된 레이어에 접근할 수 있다는 점을 알아보았습니다.
2023.01.31 - [기타/무료포토샵 gimp 튜토리얼] - [GIMP] 파이썬으로 플러그인 만들기②: image와 drawable 다루기 기초
기본이 되는 부분만 간략히 짚어본 정도지만
이제 복잡한 워크플로우를 자동화하는 데 필요한
충분한 기초를 다졌다고 생각이 되네요.
그래서 이번 포스팅에서는
간단한 프로세스를 자동화하는 과정을 진행해보겠습니다.
아래와 같은 이미지를
이렇게 바꿔보려고 합니다.
김프에서 기본제공하는 Pixelize Blur 필터입니다.
먼저, 이 과정을 스크립트로 추출해보겠습니다.
파이썬 콘솔의 Browse 버튼을 눌러
스크립트 목록을 연 후에
"pixel"을 검색합니다.
아쉽게도 이 pixelize 프로시저는 offset이나 ratio 옵션을 사용할 수 없게 되어 있네요..ㅜ
하단의 Apply 버튼을 눌러 명령어를 추출한 후
복사해서 파이참에 붙여넣습니다.
def pixelize(image, drawable):
pixel_width = 10
pdb.plug_in_pixelize(image, drawable, pixel_width)
# pdb.plug_in_pixelize(image=image, drawable=drawable, pixel_width=10) 식으로 작성하면 오류남!
이렇게 함수를 작성했습니다. 픽셀 크기는 가로세로 10px입니다.
다음은 register 함수를 작성할 차례입니다.
저는 아래와 같이 작성해보았습니다.
register(
proc_name="pixelize",
blurb="pixelize(10x10)",
help="pixelize image composed by 10x10 pixels",
author="일코",
copyright="일상의 코딩",
date="2023-01-31",
label="_Pixelize", # 밑줄 뒤의 알파벳이 컨텍스트 단축키가 됨
imagetypes="",
params=[
(PF_IMAGE, "image", "takes current image", None),
(PF_DRAWABLE, "drawable", "Input layer", None),
],
results=[],
function=pixelize,
menu="<Image>/_Plugins"
)
완성된 코드는 아래와 같습니다.
#!/usr/bin/python
# -*- coding:utf-8 -*-
from gimpfu import *
def pixelize(image, drawable):
pixel_width = 10
pdb.plug_in_pixelize(image, drawable, pixel_width)
register(
proc_name="pixelize",
blurb="pixelize(10x10)",
help="pixelize image composed by 10x10 pixels",
author="일코",
copyright="일상의 코딩",
date="2023-01-31",
label="_Pixelize",
imagetypes="",
params=[
(PF_IMAGE, "image", "takes current image", None),
(PF_DRAWABLE, "drawable", "Input layer", None),
],
results=[],
function=pixelize,
menu="<Image>/_Plugins"
)
main()
이제 김프를 열어서
플러그인을 실행해볼까요?
끝.
마치며
사실 현 시점에서는
Filter - Blur - Pixelize 메뉴를 실행하나
Plugins - Pixelize 메뉴를 실행하나 별반 차이가 없습니다.
python-fu의 진짜 강점은
여러 프로시저 워크플로우를
클릭 한 번에, 또는 명령어 한 줄만으로
자동으로 처리하는 데 있으니까요.
그럼 다음 포스팅에서는
다중 명령을 한 번에 수행하는
보다 실용적인 예제를 가지고
튜토리얼을 진행해보겠습니다.
파일을 여러개 선택할 수 있는 다이얼로그도 하나 붙여봅시다.
다음 포스팅은
2023.01.31 - [기타/무료포토샵 gimp 튜토리얼] - [GIMP] 파이썬으로 플러그인 만들기④: 플러그인에 단축키 지정하기
국내 유일의 파이썬+한컴오피스 자동화 강의
반응형
'기타 > 무료포토샵 gimp 튜토리얼' 카테고리의 다른 글
[GIMP] 파이썬으로 플러그인 만들기④: 플러그인에 단축키 지정하기 (1) | 2023.01.31 |
---|---|
[GIMP] 파이썬으로 플러그인 만들기②: image와 drawable 다루기 기초 (0) | 2023.01.31 |
[GIMP] 파이썬으로 플러그인 만들기①: 오류콘솔에 "Hello, world!" (0) | 2023.01.30 |
댓글