본문 바로가기
기타/무료포토샵 gimp 튜토리얼

[GIMP] 파이썬으로 플러그인 만들기②: image와 drawable 다루기 기초

by 일코 2023. 1. 31.

지난 포스팅에서는

김프의 오류 로그창에다 "Hello, world!"를 찍어보았습니다.
별 것 아닌 것 같지만
우리가 만든 플러그인이 제대로 작동한다는 걸
확인했다는 데 큰 의의를 두고 습니다.

2023.01.30 - [기타/무료포토샵 gimp 튜토리얼] - [GIMP] 파이썬으로 플러그인 만들기①: 오류콘솔에 "Hello, world!"

 

[GIMP] 파이썬으로 플러그인 만들기①: 오류콘솔에 "Hello, world!"

최근 GIMP를 배우는 데 박차를 가하던 중에 페북에 간단한 튜토리얼을 올렸는데 한 페친 분께서 이런 댓글을 남겨주셨어요. 여차저차해서 시작하게 된 튜토리얼이지만, 사실 예전부터 만들어 보

martinii.fun

 

이번 포스팅에서는 본격적으로 프로젝트 파일(image)과 활성레이어(drawable)에 접근하기 위한 변수인
PF_IMAGEPF_DRAWABLE 에 대해 각각 다뤄보겠습니다.

PF는 Python-Fu 의 약어입니다.

 

지난 시간에 우리가 작성했던 파이썬 플러그인은 아래와 같습니다.

#!/usr/bin/python
# -*- coding:utf-8 -*-


from gimpfu import *


def hello_warning():
    pdb.gimp_message("Hello, world!")


register(
    proc_name="python-fu-hello-warning",
    blurb="Hello world warning",
    help="Prints 'Hello, world!' to the error console",
    author="일코",
    copyright="일상의 코딩",
    date="2023-01-30",
    label="헬로월드",
    imagetypes="",
    params=[],
    results=[],
    function=hello_warning,
    menu="<Image>/File")

main()
몇 가지 강조할 점이 있습니다.

① register 함수의 모든 파라미터는 빠짐없이 채워져 있어야 합니다.
   하나라도 빠져 있으면 오류가 나네요.

② proc-name은 굳이 "python-fu-"로 시작하지 않아도 됩니다.
   register 함수가 실행되는 시점에 체크해서, 자동으로 "python-fu-"를 붙여주기 때문입니다.
   예를 들면 proc_name="hello-warning"으로만 작성해 두어도 플러그인이 정상적으로 실행됩니다.

③ 아랫쪽의 "<Image>/File"에서 <Image>는 (이전 포스팅에서도 설명드렸지만)
GIMP 프로젝트, 즉 열려 있는 .xcf 프로젝트를 가리킵니다.
   김프가 열릴 때 상단메뉴에 추가만 하고, 자동실행하지는 않겠다는 뜻입니다.
   (<Image> 외에도 <Save> 및 <Load> 등 다양한 옵션이 있기는 합니다.)
   menu="<Image>/File"은 상단메뉴의 "파일"메뉴 하단에 플러그인 메뉴를 생성하라는 의미입니다.
   menu="<Image>"로 수정하면, 상단메뉴의 오른쪽 끝(도움말 옆)에 플러그인 버튼이 생성됩니다.

설명이 투머치였나...

 

그럼 이번에는 PF_IMAGE와 PF_DRAWABLE,

두 개의 파라미터를 params에 추가하고,
사용자함수 안에서 name 속성을 출력해보겠습니다.

연습 차원에서 새 플러그인을 여러 개 만드시는 건 괜찮지만,
갯수에 비례해 로딩시간이 길어질 수 있으므로
저는 기존 hello_warning 스크립트를 수정하겠습니다.
가급적 여러분도 그렇게 하실 것을 권장합니다.

최초에 작성한 template.py 파일을 참고해서,
hello_warning의 코드를 아래와 같이 수정합니다.

#!/usr/bin/python
# -*- coding:utf-8 -*-
from gimpfu import *


def hello_info(image, drawable):     # <-- 파라미터 2개 추가(갯수는 register의 params와 동일해야 함)
    pdb.gimp_message(image.name)     # <-- 현재 열려 있는 프로젝트 파일명 출력
    pdb.gimp_message(drawable.name)  # <-- 현재 활성화된 레이어이름 출력


register(
    proc_name="hello_info",
    blurb="Names of image and input layer",
    help="Prints image name and input-layer name",
    author="일코",
    copyright="일상의 코딩",
    date="2023-01-31",
    label="이미지정보",
    imagetypes="",
    params=[
        (PF_IMAGE, "image", "takes current image", None),  # <-- 그림 아니고 현재 프로젝트
        (PF_DRAWABLE, "drawable", "Input layer", None),    # <-- 초기 활성화된 레이어
    ],
    results=[],
    function=hello_info,
    menu="<Image>"  # <-- 플러그인을 최상위메뉴에 위치
)

main()

 

이렇게 수정을 완료했으면 김프를 재실행해볼까요?

이번엔 gimp를 직접 실행하지 않고,
김프 프로젝트 파일인 xcf 파일 중 하나를 연 후에,
스크립트를 실행해보겠습니다.
(플러그인 메뉴인 "이미지정보"는 상단메뉴 제일 우측에 위치하고 있습니다.)

beach_woman.xcf
1.58MB

결과는 아래와 같습니다.

플러그인 실행결과

파일명(image.name)과 활성레이어 이름(drawable.name)이 정상적으로 출력되는 것을 확인하였습니다.

몇 가지 정보만 더 출력해보고
포스팅을 마칩시다.

이번엔 이미지의 너비(width)와 높이(height)를 추가로 출력해보겠습니다.
hello_info 함수를 아래와 같이 수정해줍니다.

def hello_info(image, drawable):
    pdb.gimp_message("name = %s" % image.name)
    pdb.gimp_message("width = %s" % image.width)  # <-- 현재 프로젝트 이미지의 너비 출력
    pdb.gimp_message("height = %s" % image.height)  # <-- 이미지의 높이 출력
    pdb.gimp_message("layer = %s" % drawable.name)

김프를 재실행하지 않고,
필터 - Script-Fu - 스크립트 새로고침(단축키는 Ctrl-Shift-Alt-R) 메뉴를 실행해주기만 하면
플러그인이 바로바로 새로고침 됩니다.

 

이제 스크립트를 다시 실행해봅시다.

실행결과

이미지의 너비와 높이 픽셀값이 추가로 출력되는 것을 확인했습니다.

이밖에도
PF_IMAGE를 통해 프로젝트 파일을,
PF_DRAWABLE를 통해 레이어를
조작할 수 있습니다.
다만, 직접 조작한다기보다는
pdb 프로시저 안에 넣어주기만 하면
알아서 접근/실행된다는 느낌에 가깝습니다.
다음 포스팅에서 보여드릴게요. 

 

그럼 다음 포스팅에서는 이어서

image와 drawable을 통한
본격적인 워크플로우 자동화 예제를 보여드리겠습니다.

 


가능하면 김프의 모든 메서드를 하나씩 짚어볼까 생각했다가,
제공하는 메서드의 어마어마한 분량을 보고
잠시나마 자만했던 저를 돌아보게 되었습니다.
아래는 pdb와 gimp의 프로퍼티 및 메서드 목록입니다.
열어보면 깜짝 놀라실 겁니다.

더보기
gimp.__class__()                          
gimp.__delattr__()                        
gimp.__dict__                            
gimp.__doc__                             
gimp.__file__                            
gimp.__format__()                         
gimp.__getattribute__()                   
gimp.__hash__()                           
gimp.__init__()                           
gimp.__name__                            
gimp.__new__()                            
gimp.__package__                         
gimp.__reduce__()                         
gimp.__reduce_ex__()                      
gimp.__repr__()                           
gimp.__setattr__()                        
gimp.__sizeof__()                         
gimp.__str__()                            
gimp.__subclasshook__()                   
gimp._id2display()                        
gimp._id2drawable()                       
gimp._id2image()                          
gimp._id2vectors()                        
gimp._PyGimp_API                         
gimp.attach_new_parasite()                
gimp.Channel()                            
gimp.check_size()                         
gimp.check_type()                         
gimp.checks_get_shades()                  
gimp.context_get_gradient()               
gimp.context_pop()                        
gimp.context_push()                       
gimp.context_set_gradient()               
gimp.data_directory                      
gimp.default_display()                    
gimp.delete()                             
gimp.directory                           
gimp.Display()                            
gimp.display_name()                       
gimp.displays_flush()                     
gimp.displays_reconnect()                 
gimp.domain_register()                    
gimp.Drawable()                           
gimp.error()                              
gimp.exit()                               
gimp.export_dialog()                      
gimp.export_image()                       
gimp.extension_ack()
gimp.extension_enable()
gimp.extension_process()
gimp.fonts_get_list()
gimp.fonts_refresh()
gimp.gamma()
gimp.get_background()
gimp.get_data()
gimp.get_foreground()
gimp.get_progname()
gimp.gradient_get_custom_samples()
gimp.gradient_get_uniform_samples()
gimp.gradients_get_gradient()
gimp.gradients_get_list()
gimp.gradients_sample_custom()
gimp.gradients_sample_uniform()
gimp.gradients_set_gradient()
gimp.GroupLayer()                         
gimp.gtkrc()
gimp.Image()                              
gimp.image_list()
gimp.install_procedure()
gimp.install_temp_proc()
gimp.Item()                               
gimp.Layer()                              
gimp.locale_directory
gimp.main()
gimp.menu_register()
gimp.message()
gimp.monitor_number()
gimp.Parasite()                           
gimp.parasite_attach()
gimp.parasite_detach()
gimp.parasite_find()
gimp.parasite_list()
gimp.pdb
gimp.personal_rc_file()
gimp.PixelFetcher()                       
gimp.PixelRgn()                           
gimp.plug_in_directory
gimp.progress_init()
gimp.progress_install()
gimp.progress_uninstall()
gimp.progress_update()
gimp.quit()
gimp.register_load_handler()
gimp.register_magic_load_handler()
gimp.register_save_handler()
gimp.set_background()
gimp.set_data()
gimp.set_foreground()
gimp.show_help_button()
gimp.show_tool_tips()
gimp.sysconf_directory
gimp.Tile()                               
gimp.tile_cache_ntiles()
gimp.tile_cache_size()
gimp.tile_height()
gimp.tile_width()
gimp.uninstall_temp_proc()
gimp.user_directory()
gimp.Vectors()                            
gimp.vectors_import_from_file()
gimp.vectors_import_from_string()
gimp.VectorsBezierStroke()                
gimp.version
gimp.wm_class()
pdb.__class__()
pdb.__delattr__()
pdb.__doc__
pdb.__format__()
pdb.__getattribute__()
pdb.__getitem__()
pdb.__hash__()
pdb.__init__()
pdb.__new__()
pdb.__reduce__()
pdb.__reduce_ex__()
pdb.__repr__()
pdb.__setattr__()
pdb.__sizeof__()
pdb.__str__()
pdb.__subclasshook__()
pdb.extension_gimp_help()
pdb.extension_gimp_help_browser()
pdb.extension_script_fu()
pdb.file_bigtiff_save()
pdb.file_bmp_load()
pdb.file_bmp_save()
pdb.file_bmp_save2()
pdb.file_bz2_load()
pdb.file_bz2_save()
pdb.file_cel_load()
pdb.file_cel_save()
pdb.file_colorxhtml_save()
pdb.file_csource_save()
pdb.file_dds_load()
pdb.file_dds_save()
pdb.file_dds_save2()
pdb.file_desktop_link_load()
pdb.file_dicom_load()
pdb.file_dicom_save()
pdb.file_eps_load()
pdb.file_eps_save()
pdb.file_exr_load()
pdb.file_exr_save()
pdb.file_faxg3_load()
pdb.file_fits_load()
pdb.file_fits_save()
pdb.file_fli_info()
pdb.file_fli_load()
pdb.file_fli_save()
pdb.file_gbr_load()
pdb.file_gbr_save()
pdb.file_gbr_save_internal()
pdb.file_gif_load()
pdb.file_gif_load_thumb()
pdb.file_gif_save()
pdb.file_gif_save2()
pdb.file_gih_load()
pdb.file_gih_save()
pdb.file_gih_save_internal()
pdb.file_glob()
pdb.file_gtm_save()
pdb.file_gz_load()
pdb.file_gz_save()
pdb.file_header_save()
pdb.file_heif_av1_save()
pdb.file_heif_load()
pdb.file_heif_save()
pdb.file_hgt_load()
pdb.file_ico_load()
pdb.file_ico_load_thumb()
pdb.file_ico_save()
pdb.file_j2k_load()
pdb.file_jp2_load()
pdb.file_jpeg_load()
pdb.file_jpeg_load_thumb()
pdb.file_jpeg_save()
pdb.file_jpegxl_load()
pdb.file_load_rgbe()
pdb.file_mng_save()
pdb.file_openraster_load()
pdb.file_openraster_load_thumb()
pdb.file_openraster_save()
pdb.file_pat_load()
pdb.file_pat_save()
pdb.file_pat_save_internal()
pdb.file_pbm_save()
pdb.file_pcx_load()
pdb.file_pcx_save()
pdb.file_pdf_load()
pdb.file_pdf_load_thumb()
pdb.file_pdf_load2()
pdb.file_pdf_save()
pdb.file_pdf_save_multi()
pdb.file_pdf_save2()
pdb.file_pfm_save()
pdb.file_pgm_save()
pdb.file_pix_load()
pdb.file_pix_save()
pdb.file_png_get_defaults()
pdb.file_png_load()
pdb.file_png_save()
pdb.file_png_save_defaults()
pdb.file_png_save2()
pdb.file_png_set_defaults()
pdb.file_pnm_load()
pdb.file_pnm_save()
pdb.file_ppm_save()
pdb.file_print_gtk()
pdb.file_print_gtk_page_setup()
pdb.file_ps_load()
pdb.file_ps_load_setargs()
pdb.file_ps_load_thumb()
pdb.file_ps_save()
pdb.file_psd_load()
pdb.file_psd_load_merged()
pdb.file_psd_load_thumb()
pdb.file_psd_save()
pdb.file_psp_load()
pdb.file_raw_get_defaults()
pdb.file_raw_load()
pdb.file_raw_placeholder_ari_load()
pdb.file_raw_placeholder_bay_load()
pdb.file_raw_placeholder_canon_load()
pdb.file_raw_placeholder_cine_load()
pdb.file_raw_placeholder_dng_load()
pdb.file_raw_placeholder_erf_load()
pdb.file_raw_placeholder_hasselblad_load()
pdb.file_raw_placeholder_kodak_load()
pdb.file_raw_placeholder_mef_load()
pdb.file_raw_placeholder_minolta_load()
pdb.file_raw_placeholder_mos_load()
pdb.file_raw_placeholder_nikon_load()
pdb.file_raw_placeholder_orf_load()
pdb.file_raw_placeholder_panasonic_load()
pdb.file_raw_placeholder_pef_load()
pdb.file_raw_placeholder_phaseone_load()
pdb.file_raw_placeholder_pxn_load()
pdb.file_raw_placeholder_qtk_load()
pdb.file_raw_placeholder_raf_load()
pdb.file_raw_placeholder_rdc_load()
pdb.file_raw_placeholder_rwl_load()
pdb.file_raw_placeholder_sinar_load()
pdb.file_raw_placeholder_sony_load()
pdb.file_raw_placeholder_srw_load()
pdb.file_raw_placeholder_x3f_load()
pdb.file_raw_save()
pdb.file_raw_save2()
pdb.file_raw_set_defaults()
pdb.file_save_rgbe()
pdb.file_sgi_load()
pdb.file_sgi_save()
pdb.file_sunras_load()
pdb.file_sunras_save()
pdb.file_svg_load()
pdb.file_svg_load_thumb()
pdb.file_tga_load()
pdb.file_tga_save()
pdb.file_tiff_load()
pdb.file_tiff_save()
pdb.file_tiff_save2()
pdb.file_webp_load()
pdb.file_webp_save()
pdb.file_webp_save2()
pdb.file_wmf_load()
pdb.file_wmf_load_thumb()
pdb.file_xbm_load()
pdb.file_xbm_save()
pdb.file_xpm_load()
pdb.file_xpm_save()
pdb.file_xwd_load()
pdb.file_xwd_save()
pdb.file_xz_load()
pdb.file_xz_save()
pdb.gimp_airbrush()
pdb.gimp_airbrush_default()
pdb.gimp_attach_parasite()
pdb.gimp_blend()
pdb.gimp_brightness_contrast()
pdb.gimp_brush_delete()
pdb.gimp_brush_duplicate()
pdb.gimp_brush_get_angle()
pdb.gimp_brush_get_aspect_ratio()
pdb.gimp_brush_get_hardness()
pdb.gimp_brush_get_info()
pdb.gimp_brush_get_pixels()
pdb.gimp_brush_get_radius()
pdb.gimp_brush_get_shape()
pdb.gimp_brush_get_spacing()
pdb.gimp_brush_get_spikes()
pdb.gimp_brush_is_editable()
pdb.gimp_brush_is_generated()
pdb.gimp_brush_new()
pdb.gimp_brush_rename()
pdb.gimp_brush_set_angle()
pdb.gimp_brush_set_aspect_ratio()
pdb.gimp_brush_set_hardness()
pdb.gimp_brush_set_radius()
pdb.gimp_brush_set_shape()
pdb.gimp_brush_set_spacing()
pdb.gimp_brush_set_spikes()
pdb.gimp_brushes_close_popup()
pdb.gimp_brushes_get_brush()
pdb.gimp_brushes_get_brush_data()
pdb.gimp_brushes_get_list()
pdb.gimp_brushes_get_opacity()
pdb.gimp_brushes_get_paint_mode()
pdb.gimp_brushes_get_spacing()
pdb.gimp_brushes_list()
pdb.gimp_brushes_popup()
pdb.gimp_brushes_refresh()
pdb.gimp_brushes_set_brush()
pdb.gimp_brushes_set_opacity()
pdb.gimp_brushes_set_paint_mode()
pdb.gimp_brushes_set_popup()
pdb.gimp_brushes_set_spacing()
pdb.gimp_bucket_fill()
pdb.gimp_buffer_delete()
pdb.gimp_buffer_get_bytes()
pdb.gimp_buffer_get_height()
pdb.gimp_buffer_get_image_type()
pdb.gimp_buffer_get_width()
pdb.gimp_buffer_rename()
pdb.gimp_buffers_get_list()
pdb.gimp_by_color_select()
pdb.gimp_by_color_select_full()
pdb.gimp_channel_combine_masks()
pdb.gimp_channel_copy()
pdb.gimp_channel_delete()
pdb.gimp_channel_get_color()
pdb.gimp_channel_get_name()
pdb.gimp_channel_get_opacity()
pdb.gimp_channel_get_show_masked()
pdb.gimp_channel_get_tattoo()
pdb.gimp_channel_get_visible()
pdb.gimp_channel_new()
pdb.gimp_channel_new_from_component()
pdb.gimp_channel_ops_duplicate()
pdb.gimp_channel_ops_offset()
pdb.gimp_channel_set_color()
pdb.gimp_channel_set_name()
pdb.gimp_channel_set_opacity()
pdb.gimp_channel_set_show_masked()
pdb.gimp_channel_set_tattoo()
pdb.gimp_channel_set_visible()
pdb.gimp_clone()
pdb.gimp_clone_default()
pdb.gimp_color_balance()
pdb.gimp_color_picker()
pdb.gimp_colorize()
pdb.gimp_context_get_antialias()
pdb.gimp_context_get_background()
pdb.gimp_context_get_brush()
pdb.gimp_context_get_brush_angle()
pdb.gimp_context_get_brush_aspect_ratio()
pdb.gimp_context_get_brush_force()
pdb.gimp_context_get_brush_hardness()
pdb.gimp_context_get_brush_size()
pdb.gimp_context_get_brush_spacing()
pdb.gimp_context_get_diagonal_neighbors()
pdb.gimp_context_get_distance_metric()
pdb.gimp_context_get_dynamics()
pdb.gimp_context_get_feather()
pdb.gimp_context_get_feather_radius()
pdb.gimp_context_get_font()
pdb.gimp_context_get_foreground()
pdb.gimp_context_get_gradient()
pdb.gimp_context_get_gradient_blend_color_space()
pdb.gimp_context_get_gradient_repeat_mode()
pdb.gimp_context_get_gradient_reverse()
pdb.gimp_context_get_ink_angle()
pdb.gimp_context_get_ink_blob_angle()
pdb.gimp_context_get_ink_blob_aspect_ratio()
pdb.gimp_context_get_ink_blob_type()
pdb.gimp_context_get_ink_size()
pdb.gimp_context_get_ink_size_sensitivity()
pdb.gimp_context_get_ink_speed_sensitivity()
pdb.gimp_context_get_ink_tilt_sensitivity()
pdb.gimp_context_get_interpolation()
pdb.gimp_context_get_line_cap_style()
pdb.gimp_context_get_line_dash_offset()
pdb.gimp_context_get_line_dash_pattern()
pdb.gimp_context_get_line_join_style()
pdb.gimp_context_get_line_miter_limit()
pdb.gimp_context_get_line_width()
pdb.gimp_context_get_line_width_unit()
pdb.gimp_context_get_mypaint_brush()
pdb.gimp_context_get_opacity()
pdb.gimp_context_get_paint_method()
pdb.gimp_context_get_paint_mode()
pdb.gimp_context_get_palette()
pdb.gimp_context_get_pattern()
pdb.gimp_context_get_sample_criterion()
pdb.gimp_context_get_sample_merged()
pdb.gimp_context_get_sample_threshold()
pdb.gimp_context_get_sample_threshold_int()
pdb.gimp_context_get_sample_transparent()
pdb.gimp_context_get_stroke_method()
pdb.gimp_context_get_transform_direction()
pdb.gimp_context_get_transform_recursion()
pdb.gimp_context_get_transform_resize()
pdb.gimp_context_list_paint_methods()
pdb.gimp_context_pop()
pdb.gimp_context_push()
pdb.gimp_context_set_antialias()
pdb.gimp_context_set_background()
pdb.gimp_context_set_brush()
pdb.gimp_context_set_brush_angle()
pdb.gimp_context_set_brush_aspect_ratio()
pdb.gimp_context_set_brush_default_hardness()
pdb.gimp_context_set_brush_default_size()
pdb.gimp_context_set_brush_default_spacing()
pdb.gimp_context_set_brush_force()
pdb.gimp_context_set_brush_hardness()
pdb.gimp_context_set_brush_size()
pdb.gimp_context_set_brush_spacing()
pdb.gimp_context_set_default_colors()
pdb.gimp_context_set_defaults()
pdb.gimp_context_set_diagonal_neighbors()
pdb.gimp_context_set_distance_metric()
pdb.gimp_context_set_dynamics()
pdb.gimp_context_set_feather()
pdb.gimp_context_set_feather_radius()
pdb.gimp_context_set_font()
pdb.gimp_context_set_foreground()
pdb.gimp_context_set_gradient()
pdb.gimp_context_set_gradient_blend_color_space()
pdb.gimp_context_set_gradient_fg_bg_hsv_ccw()
pdb.gimp_context_set_gradient_fg_bg_hsv_cw()
pdb.gimp_context_set_gradient_fg_bg_rgb()
pdb.gimp_context_set_gradient_fg_transparent()
pdb.gimp_context_set_gradient_repeat_mode()
pdb.gimp_context_set_gradient_reverse()
pdb.gimp_context_set_ink_angle()
pdb.gimp_context_set_ink_blob_angle()
pdb.gimp_context_set_ink_blob_aspect_ratio()
pdb.gimp_context_set_ink_blob_type()
pdb.gimp_context_set_ink_size()
pdb.gimp_context_set_ink_size_sensitivity()
pdb.gimp_context_set_ink_speed_sensitivity()
pdb.gimp_context_set_ink_tilt_sensitivity()
pdb.gimp_context_set_interpolation()
pdb.gimp_context_set_line_cap_style()
pdb.gimp_context_set_line_dash_offset()
pdb.gimp_context_set_line_dash_pattern()
pdb.gimp_context_set_line_join_style()
pdb.gimp_context_set_line_miter_limit()
pdb.gimp_context_set_line_width()
pdb.gimp_context_set_line_width_unit()
pdb.gimp_context_set_mypaint_brush()
pdb.gimp_context_set_opacity()
pdb.gimp_context_set_paint_method()
pdb.gimp_context_set_paint_mode()
pdb.gimp_context_set_palette()
pdb.gimp_context_set_pattern()
pdb.gimp_context_set_sample_criterion()
pdb.gimp_context_set_sample_merged()
pdb.gimp_context_set_sample_threshold()
pdb.gimp_context_set_sample_threshold_int()
pdb.gimp_context_set_sample_transparent()
pdb.gimp_context_set_stroke_method()
pdb.gimp_context_set_transform_direction()
pdb.gimp_context_set_transform_recursion()
pdb.gimp_context_set_transform_resize()
pdb.gimp_context_swap_colors()
pdb.gimp_convert_grayscale()
pdb.gimp_convert_indexed()
pdb.gimp_convert_rgb()
pdb.gimp_convolve()
pdb.gimp_convolve_default()
pdb.gimp_crop()
pdb.gimp_curves_explicit()
pdb.gimp_curves_spline()
pdb.gimp_debug_timer_end()
pdb.gimp_debug_timer_start()
pdb.gimp_desaturate()
pdb.gimp_desaturate_full()
pdb.gimp_detach_parasite()
pdb.gimp_display_delete()
pdb.gimp_display_get_window_handle()
pdb.gimp_display_is_valid()
pdb.gimp_display_new()
pdb.gimp_displays_flush()
pdb.gimp_displays_reconnect()
pdb.gimp_dodgeburn()
pdb.gimp_dodgeburn_default()
pdb.gimp_drawable_bpp()
pdb.gimp_drawable_brightness_contrast()
pdb.gimp_drawable_bytes()
pdb.gimp_drawable_color_balance()
pdb.gimp_drawable_colorize_hsl()
pdb.gimp_drawable_curves_explicit()
pdb.gimp_drawable_curves_spline()
pdb.gimp_drawable_delete()
pdb.gimp_drawable_desaturate()
pdb.gimp_drawable_edit_bucket_fill()
pdb.gimp_drawable_edit_clear()
pdb.gimp_drawable_edit_fill()
pdb.gimp_drawable_edit_gradient_fill()
pdb.gimp_drawable_edit_stroke_item()
pdb.gimp_drawable_edit_stroke_selection()
pdb.gimp_drawable_equalize()
pdb.gimp_drawable_fill()
pdb.gimp_drawable_foreground_extract()
pdb.gimp_drawable_free_shadow()
pdb.gimp_drawable_get_format()
pdb.gimp_drawable_get_image()
pdb.gimp_drawable_get_linked()
pdb.gimp_drawable_get_name()
pdb.gimp_drawable_get_pixel()
pdb.gimp_drawable_get_tattoo()
pdb.gimp_drawable_get_thumbnail_format()
pdb.gimp_drawable_get_visible()
pdb.gimp_drawable_has_alpha()
pdb.gimp_drawable_height()
pdb.gimp_drawable_histogram()
pdb.gimp_drawable_hue_saturation()
pdb.gimp_drawable_invert()
pdb.gimp_drawable_is_channel()
pdb.gimp_drawable_is_gray()
pdb.gimp_drawable_is_indexed()
pdb.gimp_drawable_is_layer()
pdb.gimp_drawable_is_layer_mask()
pdb.gimp_drawable_is_rgb()
pdb.gimp_drawable_is_text_layer()
pdb.gimp_drawable_is_valid()
pdb.gimp_drawable_levels()
pdb.gimp_drawable_levels_stretch()
pdb.gimp_drawable_mask_bounds()
pdb.gimp_drawable_mask_intersect()
pdb.gimp_drawable_merge_shadow()
pdb.gimp_drawable_offset()
pdb.gimp_drawable_offsets()
pdb.gimp_drawable_parasite_attach()
pdb.gimp_drawable_parasite_detach()
pdb.gimp_drawable_parasite_find()
pdb.gimp_drawable_parasite_list()
pdb.gimp_drawable_posterize()
pdb.gimp_drawable_set_image()
pdb.gimp_drawable_set_linked()
pdb.gimp_drawable_set_name()
pdb.gimp_drawable_set_pixel()
pdb.gimp_drawable_set_tattoo()
pdb.gimp_drawable_set_visible()
pdb.gimp_drawable_sub_thumbnail()
pdb.gimp_drawable_threshold()
pdb.gimp_drawable_thumbnail()
pdb.gimp_drawable_transform_2d()
pdb.gimp_drawable_transform_2d_default()
pdb.gimp_drawable_transform_flip()
pdb.gimp_drawable_transform_flip_default()
pdb.gimp_drawable_transform_flip_simple()
pdb.gimp_drawable_transform_matrix()
pdb.gimp_drawable_transform_matrix_default()
pdb.gimp_drawable_transform_perspective()
pdb.gimp_drawable_transform_perspective_default()
pdb.gimp_drawable_transform_rotate()
pdb.gimp_drawable_transform_rotate_default()
pdb.gimp_drawable_transform_rotate_simple()
pdb.gimp_drawable_transform_scale()
pdb.gimp_drawable_transform_scale_default()
pdb.gimp_drawable_transform_shear()
pdb.gimp_drawable_transform_shear_default()
pdb.gimp_drawable_type()
pdb.gimp_drawable_type_with_alpha()
pdb.gimp_drawable_update()
pdb.gimp_drawable_width()
pdb.gimp_dynamics_get_list()
pdb.gimp_dynamics_refresh()
pdb.gimp_edit_blend()
pdb.gimp_edit_bucket_fill()
pdb.gimp_edit_bucket_fill_full()
pdb.gimp_edit_clear()
pdb.gimp_edit_copy()
pdb.gimp_edit_copy_visible()
pdb.gimp_edit_cut()
pdb.gimp_edit_fill()
pdb.gimp_edit_named_copy()
pdb.gimp_edit_named_copy_visible()
pdb.gimp_edit_named_cut()
pdb.gimp_edit_named_paste()
pdb.gimp_edit_named_paste_as_new()
pdb.gimp_edit_named_paste_as_new_image()
pdb.gimp_edit_paste()
pdb.gimp_edit_paste_as_new()
pdb.gimp_edit_paste_as_new_image()
pdb.gimp_edit_stroke()
pdb.gimp_edit_stroke_vectors()
pdb.gimp_ellipse_select()
pdb.gimp_equalize()
pdb.gimp_eraser()
pdb.gimp_eraser_default()
pdb.gimp_file_load()
pdb.gimp_file_load_layer()
pdb.gimp_file_load_layers()
pdb.gimp_file_load_thumbnail()
pdb.gimp_file_save()
pdb.gimp_file_save_thumbnail()
pdb.gimp_flip()
pdb.gimp_floating_sel_anchor()
pdb.gimp_floating_sel_attach()
pdb.gimp_floating_sel_relax()
pdb.gimp_floating_sel_remove()
pdb.gimp_floating_sel_rigor()
pdb.gimp_floating_sel_to_layer()
pdb.gimp_fonts_close_popup()
pdb.gimp_fonts_get_list()
pdb.gimp_fonts_popup()
pdb.gimp_fonts_refresh()
pdb.gimp_fonts_set_popup()
pdb.gimp_free_select()
pdb.gimp_fuzzy_select()
pdb.gimp_fuzzy_select_full()
pdb.gimp_get_color_configuration()
pdb.gimp_get_default_comment()
pdb.gimp_get_default_unit()
pdb.gimp_get_icon_theme_dir()
pdb.gimp_get_module_load_inhibit()
pdb.gimp_get_monitor_resolution()
pdb.gimp_get_parasite()
pdb.gimp_get_parasite_list()
pdb.gimp_get_path_by_tattoo()
pdb.gimp_get_theme_dir()
pdb.gimp_getpid()
pdb.gimp_gimprc_query()
pdb.gimp_gimprc_set()
pdb.gimp_gradient_delete()
pdb.gimp_gradient_duplicate()
pdb.gimp_gradient_get_custom_samples()
pdb.gimp_gradient_get_number_of_segments()
pdb.gimp_gradient_get_uniform_samples()
pdb.gimp_gradient_is_editable()
pdb.gimp_gradient_new()
pdb.gimp_gradient_rename()
pdb.gimp_gradient_segment_get_blending_function()
pdb.gimp_gradient_segment_get_coloring_type()
pdb.gimp_gradient_segment_get_left_color()
pdb.gimp_gradient_segment_get_left_pos()
pdb.gimp_gradient_segment_get_middle_pos()
pdb.gimp_gradient_segment_get_right_color()
pdb.gimp_gradient_segment_get_right_pos()
pdb.gimp_gradient_segment_range_blend_colors()
pdb.gimp_gradient_segment_range_blend_opacity()
pdb.gimp_gradient_segment_range_delete()
pdb.gimp_gradient_segment_range_flip()
pdb.gimp_gradient_segment_range_move()
pdb.gimp_gradient_segment_range_redistribute_handles()
pdb.gimp_gradient_segment_range_replicate()
pdb.gimp_gradient_segment_range_set_blending_function()
pdb.gimp_gradient_segment_range_set_coloring_type()
pdb.gimp_gradient_segment_range_split_midpoint()
pdb.gimp_gradient_segment_range_split_uniform()
pdb.gimp_gradient_segment_set_left_color()
pdb.gimp_gradient_segment_set_left_pos()
pdb.gimp_gradient_segment_set_middle_pos()
pdb.gimp_gradient_segment_set_right_color()
pdb.gimp_gradient_segment_set_right_pos()
pdb.gimp_gradients_close_popup()
pdb.gimp_gradients_get_active()
pdb.gimp_gradients_get_gradient()
pdb.gimp_gradients_get_gradient_data()
pdb.gimp_gradients_get_list()
pdb.gimp_gradients_popup()
pdb.gimp_gradients_refresh()
pdb.gimp_gradients_sample_custom()
pdb.gimp_gradients_sample_uniform()
pdb.gimp_gradients_set_active()
pdb.gimp_gradients_set_gradient()
pdb.gimp_gradients_set_popup()
pdb.gimp_heal()
pdb.gimp_heal_default()
pdb.gimp_help()
pdb.gimp_help_concepts_paths()
pdb.gimp_help_concepts_usage()
pdb.gimp_help_using_docks()
pdb.gimp_help_using_fileformats()
pdb.gimp_help_using_photography()
pdb.gimp_help_using_selections()
pdb.gimp_help_using_simpleobjects()
pdb.gimp_help_using_web()
pdb.gimp_histogram()
pdb.gimp_hue_saturation()
pdb.gimp_image_active_drawable()
pdb.gimp_image_add_channel()
pdb.gimp_image_add_hguide()
pdb.gimp_image_add_layer()
pdb.gimp_image_add_layer_mask()
pdb.gimp_image_add_sample_point()
pdb.gimp_image_add_vectors()
pdb.gimp_image_add_vguide()
pdb.gimp_image_attach_parasite()
pdb.gimp_image_base_type()
pdb.gimp_image_clean_all()
pdb.gimp_image_convert_color_profile()
pdb.gimp_image_convert_color_profile_from_file()
pdb.gimp_image_convert_grayscale()
pdb.gimp_image_convert_indexed()
pdb.gimp_image_convert_precision()
pdb.gimp_image_convert_rgb()
pdb.gimp_image_convert_set_dither_matrix()
pdb.gimp_image_crop()
pdb.gimp_image_delete()
pdb.gimp_image_delete_guide()
pdb.gimp_image_delete_sample_point()
pdb.gimp_image_detach_parasite()
pdb.gimp_image_duplicate()
pdb.gimp_image_find_next_guide()
pdb.gimp_image_find_next_sample_point()
pdb.gimp_image_flatten()
pdb.gimp_image_flip()
pdb.gimp_image_floating_sel_attached_to()
pdb.gimp_image_floating_selection()
pdb.gimp_image_free_shadow()
pdb.gimp_image_freeze_channels()
pdb.gimp_image_freeze_layers()
pdb.gimp_image_freeze_vectors()
pdb.gimp_image_get_active_channel()
pdb.gimp_image_get_active_drawable()
pdb.gimp_image_get_active_layer()
pdb.gimp_image_get_active_vectors()
pdb.gimp_image_get_channel_by_name()
pdb.gimp_image_get_channel_by_tattoo()
pdb.gimp_image_get_channel_position()
pdb.gimp_image_get_channels()
pdb.gimp_image_get_cmap()
pdb.gimp_image_get_color_profile()
pdb.gimp_image_get_colormap()
pdb.gimp_image_get_component_active()
pdb.gimp_image_get_component_visible()
pdb.gimp_image_get_default_new_layer_mode()
pdb.gimp_image_get_effective_color_profile()
pdb.gimp_image_get_exported_uri()
pdb.gimp_image_get_filename()
pdb.gimp_image_get_floating_sel()
pdb.gimp_image_get_guide_orientation()
pdb.gimp_image_get_guide_position()
pdb.gimp_image_get_imported_uri()
pdb.gimp_image_get_item_position()
pdb.gimp_image_get_layer_by_name()
pdb.gimp_image_get_layer_by_tattoo()
pdb.gimp_image_get_layer_position()
pdb.gimp_image_get_layers()
pdb.gimp_image_get_metadata()
pdb.gimp_image_get_name()
pdb.gimp_image_get_parasite()
pdb.gimp_image_get_parasite_list()
pdb.gimp_image_get_precision()
pdb.gimp_image_get_resolution()
pdb.gimp_image_get_sample_point_position()
pdb.gimp_image_get_selection()
pdb.gimp_image_get_tattoo_state()
pdb.gimp_image_get_unit()
pdb.gimp_image_get_uri()
pdb.gimp_image_get_vectors()
pdb.gimp_image_get_vectors_by_name()
pdb.gimp_image_get_vectors_by_tattoo()
pdb.gimp_image_get_vectors_position()
pdb.gimp_image_get_xcf_uri()
pdb.gimp_image_grid_get_background_color()
pdb.gimp_image_grid_get_foreground_color()
pdb.gimp_image_grid_get_offset()
pdb.gimp_image_grid_get_spacing()
pdb.gimp_image_grid_get_style()
pdb.gimp_image_grid_set_background_color()
pdb.gimp_image_grid_set_foreground_color()
pdb.gimp_image_grid_set_offset()
pdb.gimp_image_grid_set_spacing()
pdb.gimp_image_grid_set_style()
pdb.gimp_image_height()
pdb.gimp_image_insert_channel()
pdb.gimp_image_insert_layer()
pdb.gimp_image_insert_vectors()
pdb.gimp_image_is_dirty()
pdb.gimp_image_is_valid()
pdb.gimp_image_list()
pdb.gimp_image_lower_channel()
pdb.gimp_image_lower_item()
pdb.gimp_image_lower_item_to_bottom()
pdb.gimp_image_lower_layer()
pdb.gimp_image_lower_layer_to_bottom()
pdb.gimp_image_lower_vectors()
pdb.gimp_image_lower_vectors_to_bottom()
pdb.gimp_image_merge_down()
pdb.gimp_image_merge_layer_group()
pdb.gimp_image_merge_visible_layers()
pdb.gimp_image_new()
pdb.gimp_image_new_with_precision()
pdb.gimp_image_parasite_attach()
pdb.gimp_image_parasite_detach()
pdb.gimp_image_parasite_find()
pdb.gimp_image_parasite_list()
pdb.gimp_image_pick_color()
pdb.gimp_image_pick_correlate_layer()
pdb.gimp_image_raise_channel()
pdb.gimp_image_raise_item()
pdb.gimp_image_raise_item_to_top()
pdb.gimp_image_raise_layer()
pdb.gimp_image_raise_layer_to_top()
pdb.gimp_image_raise_vectors()
pdb.gimp_image_raise_vectors_to_top()
pdb.gimp_image_remove_channel()
pdb.gimp_image_remove_layer()
pdb.gimp_image_remove_layer_mask()
pdb.gimp_image_remove_vectors()
pdb.gimp_image_reorder_item()
pdb.gimp_image_resize()
pdb.gimp_image_resize_to_layers()
pdb.gimp_image_rotate()
pdb.gimp_image_scale()
pdb.gimp_image_scale_full()
pdb.gimp_image_select_color()
pdb.gimp_image_select_contiguous_color()
pdb.gimp_image_select_ellipse()
pdb.gimp_image_select_item()
pdb.gimp_image_select_polygon()
pdb.gimp_image_select_rectangle()
pdb.gimp_image_select_round_rectangle()
pdb.gimp_image_set_active_channel()
pdb.gimp_image_set_active_layer()
pdb.gimp_image_set_active_vectors()
pdb.gimp_image_set_cmap()
pdb.gimp_image_set_color_profile()
pdb.gimp_image_set_color_profile_from_file()
pdb.gimp_image_set_colormap()
pdb.gimp_image_set_component_active()
pdb.gimp_image_set_component_visible()
pdb.gimp_image_set_filename()
pdb.gimp_image_set_metadata()
pdb.gimp_image_set_resolution()
pdb.gimp_image_set_tattoo_state()
pdb.gimp_image_set_unit()
pdb.gimp_image_thaw_channels()
pdb.gimp_image_thaw_layers()
pdb.gimp_image_thaw_vectors()
pdb.gimp_image_thumbnail()
pdb.gimp_image_undo_disable()
pdb.gimp_image_undo_enable()
pdb.gimp_image_undo_freeze()
pdb.gimp_image_undo_group_end()
pdb.gimp_image_undo_group_start()
pdb.gimp_image_undo_is_enabled()
pdb.gimp_image_undo_thaw()
pdb.gimp_image_unset_active_channel()
pdb.gimp_image_width()
pdb.gimp_invert()
pdb.gimp_item_attach_parasite()
pdb.gimp_item_delete()
pdb.gimp_item_detach_parasite()
pdb.gimp_item_get_children()
pdb.gimp_item_get_color_tag()
pdb.gimp_item_get_expanded()
pdb.gimp_item_get_image()
pdb.gimp_item_get_linked()
pdb.gimp_item_get_lock_content()
pdb.gimp_item_get_lock_position()
pdb.gimp_item_get_name()
pdb.gimp_item_get_parasite()
pdb.gimp_item_get_parasite_list()
pdb.gimp_item_get_parent()
pdb.gimp_item_get_tattoo()
pdb.gimp_item_get_visible()
pdb.gimp_item_is_channel()
pdb.gimp_item_is_drawable()
pdb.gimp_item_is_group()
pdb.gimp_item_is_layer()
pdb.gimp_item_is_layer_mask()
pdb.gimp_item_is_selection()
pdb.gimp_item_is_text_layer()
pdb.gimp_item_is_valid()
pdb.gimp_item_is_vectors()
pdb.gimp_item_set_color_tag()
pdb.gimp_item_set_expanded()
pdb.gimp_item_set_linked()
pdb.gimp_item_set_lock_content()
pdb.gimp_item_set_lock_position()
pdb.gimp_item_set_name()
pdb.gimp_item_set_tattoo()
pdb.gimp_item_set_visible()
pdb.gimp_item_transform_2d()
pdb.gimp_item_transform_flip()
pdb.gimp_item_transform_flip_simple()
pdb.gimp_item_transform_matrix()
pdb.gimp_item_transform_perspective()
pdb.gimp_item_transform_rotate()
pdb.gimp_item_transform_rotate_simple()
pdb.gimp_item_transform_scale()
pdb.gimp_item_transform_shear()
pdb.gimp_item_transform_translate()
pdb.gimp_layer_add_alpha()
pdb.gimp_layer_add_mask()
pdb.gimp_layer_copy()
pdb.gimp_layer_create_mask()
pdb.gimp_layer_delete()
pdb.gimp_layer_flatten()
pdb.gimp_layer_from_mask()
pdb.gimp_layer_get_apply_mask()
pdb.gimp_layer_get_blend_space()
pdb.gimp_layer_get_composite_mode()
pdb.gimp_layer_get_composite_space()
pdb.gimp_layer_get_edit_mask()
pdb.gimp_layer_get_linked()
pdb.gimp_layer_get_lock_alpha()
pdb.gimp_layer_get_mask()
pdb.gimp_layer_get_mode()
pdb.gimp_layer_get_name()
pdb.gimp_layer_get_opacity()
pdb.gimp_layer_get_preserve_trans()
pdb.gimp_layer_get_show_mask()
pdb.gimp_layer_get_tattoo()
pdb.gimp_layer_get_visible()
pdb.gimp_layer_group_new()
pdb.gimp_layer_is_floating_sel()
pdb.gimp_layer_mask()
pdb.gimp_layer_new()
pdb.gimp_layer_new_from_drawable()
pdb.gimp_layer_new_from_visible()
pdb.gimp_layer_remove_mask()
pdb.gimp_layer_resize()
pdb.gimp_layer_resize_to_image_size()
pdb.gimp_layer_scale()
pdb.gimp_layer_scale_full()
pdb.gimp_layer_set_apply_mask()
pdb.gimp_layer_set_blend_space()
pdb.gimp_layer_set_composite_mode()
pdb.gimp_layer_set_composite_space()
pdb.gimp_layer_set_edit_mask()
pdb.gimp_layer_set_linked()
pdb.gimp_layer_set_lock_alpha()
pdb.gimp_layer_set_mode()
pdb.gimp_layer_set_name()
pdb.gimp_layer_set_offsets()
pdb.gimp_layer_set_opacity()
pdb.gimp_layer_set_preserve_trans()
pdb.gimp_layer_set_show_mask()
pdb.gimp_layer_set_tattoo()
pdb.gimp_layer_set_visible()
pdb.gimp_layer_translate()
pdb.gimp_levels()
pdb.gimp_levels_auto()
pdb.gimp_levels_stretch()
pdb.gimp_message()
pdb.gimp_message_get_handler()
pdb.gimp_message_set_handler()
pdb.gimp_online_bugs_features()
pdb.gimp_online_developer_web_site()
pdb.gimp_online_docs_web_site()
pdb.gimp_online_main_web_site()
pdb.gimp_online_roadmap()
pdb.gimp_online_wiki()
pdb.gimp_paintbrush()
pdb.gimp_paintbrush_default()
pdb.gimp_palette_add_entry()
pdb.gimp_palette_delete()
pdb.gimp_palette_delete_entry()
pdb.gimp_palette_duplicate()
pdb.gimp_palette_entry_get_color()
pdb.gimp_palette_entry_get_name()
pdb.gimp_palette_entry_set_color()
pdb.gimp_palette_entry_set_name()
pdb.gimp_palette_export_css()
pdb.gimp_palette_export_java()
pdb.gimp_palette_export_php()
pdb.gimp_palette_export_python()
pdb.gimp_palette_export_text()
pdb.gimp_palette_get_background()
pdb.gimp_palette_get_colors()
pdb.gimp_palette_get_columns()
pdb.gimp_palette_get_foreground()
pdb.gimp_palette_get_info()
pdb.gimp_palette_is_editable()
pdb.gimp_palette_new()
pdb.gimp_palette_refresh()
pdb.gimp_palette_rename()
pdb.gimp_palette_set_background()
pdb.gimp_palette_set_columns()
pdb.gimp_palette_set_default_colors()
pdb.gimp_palette_set_foreground()
pdb.gimp_palette_swap_colors()
pdb.gimp_palettes_close_popup()
pdb.gimp_palettes_get_list()
pdb.gimp_palettes_get_palette()
pdb.gimp_palettes_get_palette_entry()
pdb.gimp_palettes_popup()
pdb.gimp_palettes_refresh()
pdb.gimp_palettes_set_palette()
pdb.gimp_palettes_set_popup()
pdb.gimp_parasite_attach()
pdb.gimp_parasite_detach()
pdb.gimp_parasite_find()
pdb.gimp_parasite_list()
pdb.gimp_path_delete()
pdb.gimp_path_get_current()
pdb.gimp_path_get_locked()
pdb.gimp_path_get_point_at_dist()
pdb.gimp_path_get_points()
pdb.gimp_path_get_tattoo()
pdb.gimp_path_import()
pdb.gimp_path_list()
pdb.gimp_path_set_current()
pdb.gimp_path_set_locked()
pdb.gimp_path_set_points()
pdb.gimp_path_set_tattoo()
pdb.gimp_path_stroke_current()
pdb.gimp_path_to_selection()
pdb.gimp_pattern_get_info()
pdb.gimp_pattern_get_pixels()
pdb.gimp_patterns_close_popup()
pdb.gimp_patterns_get_list()
pdb.gimp_patterns_get_pattern()
pdb.gimp_patterns_get_pattern_data()
pdb.gimp_patterns_list()
pdb.gimp_patterns_popup()
pdb.gimp_patterns_refresh()
pdb.gimp_patterns_set_pattern()
pdb.gimp_patterns_set_popup()
pdb.gimp_pencil()
pdb.gimp_perspective()
pdb.gimp_plugin_domain_register()
pdb.gimp_plugin_enable_precision()
pdb.gimp_plugin_get_pdb_error_handler()
pdb.gimp_plugin_help_register()
pdb.gimp_plugin_icon_register()
pdb.gimp_plugin_menu_branch_register()
pdb.gimp_plugin_menu_register()
pdb.gimp_plugin_precision_enabled()
pdb.gimp_plugin_set_pdb_error_handler()
pdb.gimp_plugins_query()
pdb.gimp_posterize()
pdb.gimp_procedural_db_dump()
pdb.gimp_procedural_db_get_data()
pdb.gimp_procedural_db_get_data_size()
pdb.gimp_procedural_db_proc_arg()
pdb.gimp_procedural_db_proc_exists()
pdb.gimp_procedural_db_proc_info()
pdb.gimp_procedural_db_proc_val()
pdb.gimp_procedural_db_query()
pdb.gimp_procedural_db_set_data()
pdb.gimp_procedural_db_temp_name()
pdb.gimp_progress_cancel()
pdb.gimp_progress_end()
pdb.gimp_progress_get_window_handle()
pdb.gimp_progress_init()
pdb.gimp_progress_install()
pdb.gimp_progress_pulse()
pdb.gimp_progress_set_text()
pdb.gimp_progress_uninstall()
pdb.gimp_progress_update()
pdb.gimp_quit()
pdb.gimp_rect_select()
pdb.gimp_register_file_handler_mime()
pdb.gimp_register_file_handler_priority()
pdb.gimp_register_file_handler_raw()
pdb.gimp_register_file_handler_uri()
pdb.gimp_register_load_handler()
pdb.gimp_register_magic_load_handler()
pdb.gimp_register_save_handler()
pdb.gimp_register_thumbnail_loader()
pdb.gimp_rotate()
pdb.gimp_round_rect_select()
pdb.gimp_scale()
pdb.gimp_selection_all()
pdb.gimp_selection_border()
pdb.gimp_selection_bounds()
pdb.gimp_selection_clear()
pdb.gimp_selection_combine()
pdb.gimp_selection_feather()
pdb.gimp_selection_float()
pdb.gimp_selection_flood()
pdb.gimp_selection_grow()
pdb.gimp_selection_invert()
pdb.gimp_selection_is_empty()
pdb.gimp_selection_layer_alpha()
pdb.gimp_selection_load()
pdb.gimp_selection_none()
pdb.gimp_selection_save()
pdb.gimp_selection_sharpen()
pdb.gimp_selection_shrink()
pdb.gimp_selection_translate()
pdb.gimp_selection_value()
pdb.gimp_shear()
pdb.gimp_smudge()
pdb.gimp_smudge_default()
pdb.gimp_temp_name()
pdb.gimp_temp_PDB_name()
pdb.gimp_text()
pdb.gimp_text_fontname()
pdb.gimp_text_get_extents()
pdb.gimp_text_get_extents_fontname()
pdb.gimp_text_layer_get_antialias()
pdb.gimp_text_layer_get_base_direction()
pdb.gimp_text_layer_get_color()
pdb.gimp_text_layer_get_font()
pdb.gimp_text_layer_get_font_size()
pdb.gimp_text_layer_get_hint_style()
pdb.gimp_text_layer_get_hinting()
pdb.gimp_text_layer_get_indent()
pdb.gimp_text_layer_get_justification()
pdb.gimp_text_layer_get_kerning()
pdb.gimp_text_layer_get_language()
pdb.gimp_text_layer_get_letter_spacing()
pdb.gimp_text_layer_get_line_spacing()
pdb.gimp_text_layer_get_markup()
pdb.gimp_text_layer_get_text()
pdb.gimp_text_layer_new()
pdb.gimp_text_layer_resize()
pdb.gimp_text_layer_set_antialias()
pdb.gimp_text_layer_set_base_direction()
pdb.gimp_text_layer_set_color()
pdb.gimp_text_layer_set_font()
pdb.gimp_text_layer_set_font_size()
pdb.gimp_text_layer_set_hint_style()
pdb.gimp_text_layer_set_hinting()
pdb.gimp_text_layer_set_indent()
pdb.gimp_text_layer_set_justification()
pdb.gimp_text_layer_set_kerning()
pdb.gimp_text_layer_set_language()
pdb.gimp_text_layer_set_letter_spacing()
pdb.gimp_text_layer_set_line_spacing()
pdb.gimp_text_layer_set_text()
pdb.gimp_threshold()
pdb.gimp_transform_2d()
pdb.gimp_undo_push_group_end()
pdb.gimp_undo_push_group_start()
pdb.gimp_unit_get_abbreviation()
pdb.gimp_unit_get_deletion_flag()
pdb.gimp_unit_get_digits()
pdb.gimp_unit_get_factor()
pdb.gimp_unit_get_identifier()
pdb.gimp_unit_get_number_of_built_in_units()
pdb.gimp_unit_get_number_of_units()
pdb.gimp_unit_get_plural()
pdb.gimp_unit_get_singular()
pdb.gimp_unit_get_symbol()
pdb.gimp_unit_new()
pdb.gimp_unit_set_deletion_flag()
pdb.gimp_vectors_bezier_stroke_conicto()
pdb.gimp_vectors_bezier_stroke_cubicto()
pdb.gimp_vectors_bezier_stroke_lineto()
pdb.gimp_vectors_bezier_stroke_new_ellipse()
pdb.gimp_vectors_bezier_stroke_new_moveto()
pdb.gimp_vectors_copy()
pdb.gimp_vectors_export_to_file()
pdb.gimp_vectors_export_to_string()
pdb.gimp_vectors_get_image()
pdb.gimp_vectors_get_linked()
pdb.gimp_vectors_get_name()
pdb.gimp_vectors_get_strokes()
pdb.gimp_vectors_get_tattoo()
pdb.gimp_vectors_get_visible()
pdb.gimp_vectors_import_from_file()
pdb.gimp_vectors_import_from_string()
pdb.gimp_vectors_is_valid()
pdb.gimp_vectors_new()
pdb.gimp_vectors_new_from_text_layer()
pdb.gimp_vectors_parasite_attach()
pdb.gimp_vectors_parasite_detach()
pdb.gimp_vectors_parasite_find()
pdb.gimp_vectors_parasite_list()
pdb.gimp_vectors_remove_stroke()
pdb.gimp_vectors_set_linked()
pdb.gimp_vectors_set_name()
pdb.gimp_vectors_set_tattoo()
pdb.gimp_vectors_set_visible()
pdb.gimp_vectors_stroke_close()
pdb.gimp_vectors_stroke_flip()
pdb.gimp_vectors_stroke_flip_free()
pdb.gimp_vectors_stroke_get_length()
pdb.gimp_vectors_stroke_get_point_at_dist()
pdb.gimp_vectors_stroke_get_points()
pdb.gimp_vectors_stroke_interpolate()
pdb.gimp_vectors_stroke_new_from_points()
pdb.gimp_vectors_stroke_rotate()
pdb.gimp_vectors_stroke_scale()
pdb.gimp_vectors_stroke_translate()
pdb.gimp_vectors_to_selection()
pdb.gimp_version()
pdb.gimp_xcf_load()
pdb.gimp_xcf_save()
pdb.plug_in_alienmap2()
pdb.plug_in_align_layers()
pdb.plug_in_animationoptimize()
pdb.plug_in_animationoptimize_diff()
pdb.plug_in_animationplay()
pdb.plug_in_animationunoptimize()
pdb.plug_in_antialias()
pdb.plug_in_apply_canvas()
pdb.plug_in_applylens()
pdb.plug_in_autocrop()
pdb.plug_in_autocrop_layer()
pdb.plug_in_autostretch_hsv()
pdb.plug_in_blinds()
pdb.plug_in_blur()
pdb.plug_in_borderaverage()
pdb.plug_in_bump_map()
pdb.plug_in_bump_map_tiled()
pdb.plug_in_busy_dialog()
pdb.plug_in_c_astretch()
pdb.plug_in_cartoon()
pdb.plug_in_ccanalyze()
pdb.plug_in_checkerboard()
pdb.plug_in_cml_explorer()
pdb.plug_in_color_enhance()
pdb.plug_in_colorify()
pdb.plug_in_colormap_remap()
pdb.plug_in_colormap_swap()
pdb.plug_in_colors_channel_mixer()
pdb.plug_in_colortoalpha()
pdb.plug_in_compose()
pdb.plug_in_convmatrix()
pdb.plug_in_cubism()
pdb.plug_in_curve_bend()
pdb.plug_in_curve_bend_Iterator()
pdb.plug_in_dbbrowser()
pdb.plug_in_decompose()
pdb.plug_in_decompose_registered()
pdb.plug_in_deinterlace()
pdb.plug_in_depth_merge()
pdb.plug_in_despeckle()
pdb.plug_in_destripe()
pdb.plug_in_diffraction()
pdb.plug_in_dilate()
pdb.plug_in_displace()
pdb.plug_in_displace_polar()
pdb.plug_in_dog()
pdb.plug_in_drawable_compose()
pdb.plug_in_edge()
pdb.plug_in_emboss()
pdb.plug_in_engrave()
pdb.plug_in_erode()
pdb.plug_in_exchange()
pdb.plug_in_film()
pdb.plug_in_filter_pack()
pdb.plug_in_flame()
pdb.plug_in_flarefx()
pdb.plug_in_fractal_trace()
pdb.plug_in_fractalexplorer()
pdb.plug_in_gauss()
pdb.plug_in_gauss_iir()
pdb.plug_in_gauss_iir2()
pdb.plug_in_gauss_rle()
pdb.plug_in_gauss_rle2()
pdb.plug_in_gfig()
pdb.plug_in_gflare()
pdb.plug_in_gimpressionist()
pdb.plug_in_glasstile()
pdb.plug_in_goat_exercise()
pdb.plug_in_gradmap()
pdb.plug_in_grid()
pdb.plug_in_guillotine()
pdb.plug_in_hot()
pdb.plug_in_hsv_noise()
pdb.plug_in_icc_profile_apply()
pdb.plug_in_icc_profile_apply_rgb()
pdb.plug_in_icc_profile_file_info()
pdb.plug_in_icc_profile_info()
pdb.plug_in_icc_profile_set()
pdb.plug_in_icc_profile_set_rgb()
pdb.plug_in_ifscompose()
pdb.plug_in_illusion()
pdb.plug_in_imagemap()
pdb.plug_in_jigsaw()
pdb.plug_in_laplace()
pdb.plug_in_lens_distortion()
pdb.plug_in_lic()
pdb.plug_in_lighting()
pdb.plug_in_make_seamless()
pdb.plug_in_map_object()
pdb.plug_in_max_rgb()
pdb.plug_in_maze()
pdb.plug_in_mblur()
pdb.plug_in_mblur_inward()
pdb.plug_in_median_blur()
pdb.plug_in_metadata_editor()
pdb.plug_in_metadata_viewer()
pdb.plug_in_mosaic()
pdb.plug_in_neon()
pdb.plug_in_newsprint()
pdb.plug_in_nlfilt()
pdb.plug_in_noisify()
pdb.plug_in_normalize()
pdb.plug_in_nova()
pdb.plug_in_oilify()
pdb.plug_in_oilify_enhanced()
pdb.plug_in_pagecurl()
pdb.plug_in_palettemap()
pdb.plug_in_papertile()
pdb.plug_in_photocopy()
pdb.plug_in_pixelize()
pdb.plug_in_pixelize2()
pdb.plug_in_plasma()
pdb.plug_in_plug_in_details()
pdb.plug_in_polar_coords()
pdb.plug_in_qbist()
pdb.plug_in_randomize_hurl()
pdb.plug_in_randomize_pick()
pdb.plug_in_randomize_slur()
pdb.plug_in_recompose()
pdb.plug_in_red_eye_removal()
pdb.plug_in_retinex()
pdb.plug_in_rgb_noise()
pdb.plug_in_ripple()
pdb.plug_in_rotate()
pdb.plug_in_sample_colorize()
pdb.plug_in_screenshot()
pdb.plug_in_script_fu_console()
pdb.plug_in_script_fu_eval()
pdb.plug_in_script_fu_server()
pdb.plug_in_script_fu_text_console()
pdb.plug_in_sel_gauss()
pdb.plug_in_sel2path()
pdb.plug_in_sel2path_advanced()
pdb.plug_in_semiflatten()
pdb.plug_in_sharpen()
pdb.plug_in_shift()
pdb.plug_in_sinus()
pdb.plug_in_small_tiles()
pdb.plug_in_smooth_palette()
pdb.plug_in_sobel()
pdb.plug_in_softglow()
pdb.plug_in_solid_noise()
pdb.plug_in_sparkle()
pdb.plug_in_spheredesigner()
pdb.plug_in_spread()
pdb.plug_in_spyrogimp()
pdb.plug_in_threshold_alpha()
pdb.plug_in_tile()
pdb.plug_in_unit_editor()
pdb.plug_in_unsharp_mask()
pdb.plug_in_video()
pdb.plug_in_vinvert()
pdb.plug_in_vpropagate()
pdb.plug_in_warp()
pdb.plug_in_wavelet_decompose()
pdb.plug_in_waves()
pdb.plug_in_web_browser()
pdb.plug_in_web_page()
pdb.plug_in_whirl_pinch()
pdb.plug_in_wind()
pdb.plug_in_zealouscrop()
pdb.python_fu_console()
pdb.python_fu_eval()
pdb.python_fu_foggify()
pdb.python_fu_gradient_save_as_css()
pdb.python_fu_hello_info()
pdb.python_fu_histogram_export()
pdb.python_fu_palette_offset()
pdb.python_fu_palette_sort()
pdb.python_fu_palette_to_gradient()
pdb.python_fu_palette_to_gradient_repeating()
pdb.python_fu_slice()
pdb.query()
pdb.script_fu_add_bevel()
pdb.script_fu_addborder()
pdb.script_fu_blend_anim()
pdb.script_fu_burn_in_anim()
pdb.script_fu_carve_it()
pdb.script_fu_circuit()
pdb.script_fu_clothify()
pdb.script_fu_coffee_stain()
pdb.script_fu_copy_visible()
pdb.script_fu_difference_clouds()
pdb.script_fu_distress_selection()
pdb.script_fu_drop_shadow()
pdb.script_fu_erase_nth_rows()
pdb.script_fu_erase_rows()
pdb.script_fu_font_map()
pdb.script_fu_fuzzy_border()
pdb.script_fu_gradient_example()
pdb.script_fu_grid_system()
pdb.script_fu_guide_new()
pdb.script_fu_guide_new_percent()
pdb.script_fu_guides_from_selection()
pdb.script_fu_guides_remove()
pdb.script_fu_lava()
pdb.script_fu_line_nova()
pdb.script_fu_make_brush_elliptical()
pdb.script_fu_make_brush_elliptical_feathered()
pdb.script_fu_make_brush_rectangular()
pdb.script_fu_make_brush_rectangular_feathered()
pdb.script_fu_old_photo()
pdb.script_fu_paste_as_brush()
pdb.script_fu_paste_as_pattern()
pdb.script_fu_perspective_shadow()
pdb.script_fu_predator()
pdb.script_fu_refresh()
pdb.script_fu_reverse_layers()
pdb.script_fu_ripply_anim()
pdb.script_fu_round_corners()
pdb.script_fu_selection_round()
pdb.script_fu_selection_rounded_rectangle()
pdb.script_fu_selection_to_brush()
pdb.script_fu_selection_to_image()
pdb.script_fu_selection_to_pattern()
pdb.script_fu_set_cmap()
pdb.script_fu_slide()
pdb.script_fu_sota_chrome_it()
pdb.script_fu_spinning_globe()
pdb.script_fu_spyrogimp()
pdb.script_fu_tile_blur()
pdb.script_fu_unsharp_mask()
pdb.script_fu_waves_anim()
pdb.script_fu_weave()
pdb.script_fu_xach_effect()
pdb.twain_acquire()

ㄷㄷㄷ
제가 김프 제작진이었다면 이 정도의 프로그램을
오픈소스에 무료로 뿌린다는 건 상상도 못 했을 것 같네요ㅜ

다음 포스팅은

2023.01.31 - [기타/무료포토샵 gimp 튜토리얼] - [GIMP] 파이썬으로 플러그인 만들기③: 워크플로우 자동화 기초

 

[GIMP] 파이썬으로 플러그인 만들기③: 워크플로우 자동화 기초

지난 포스팅 말미에서는 사용자변수의 image와 drawable 파라미터를 통해 각각 김프의 프로젝트파일, 활성화된 레이어에 접근할 수 있다는 점을 알아보았습니다. 2023.01.31 - [기타/무료포토샵 gimp 튜

martinii.fun

 

 

 

 


국내 유일의 파이썬+한컴오피스 자동화 강의

 

움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피 - 인프런 | 강의

파이썬으로 아래아한글을 다루는 짧은 예제코드들을 소개하고, 중간중간의 결과를 GIF로 보여드립니다. 동영상 강의가 아니지만 오히려 빠르게 배울 수 있고, 따라하기도 쉽습니다., - 강의 소개

www.inflearn.com

 

댓글