GIMPパスを一括削除するPython-Fuスクリプト

コンピュータ

溜まったパスを一括で削除します。削除したくないパスはロック?、保護?をかけてください。

#!/usr/bin/env python
# coding: utf8
# 
# パスの一覧を削除
# 
from gimpfu import *
from array import array
from time import time
def plugin_main(image, layer):
    # プログレスバー初期化
    gimp.progress_init("PathsClear")
    # Undo開始
    pdb.gimp_image_undo_group_start(image)
    # パスの一覧を取得
    num_paths, path_list = pdb.gimp_path_list(image)
    try:
        for i in range(num_paths):
            # 保護されていない
            if pdb.gimp_path_get_locked(image, path_list[i]) == 0:
                # 削除
                pdb.gimp_path_delete(image, path_list[i])
            # プログレスバー更新
            gimp.progress_update(float(i)/float(num_paths-1))
    finally:
        # Undo終了
        pdb.gimp_image_undo_group_end(image)
        # レイヤーの更新
        layer.flush()
        layer.update(0,0,w,h)
register("PathsClear", "", "", "", "", "",
    "パス一括削除", 
    "*",
    [
    (PF_IMAGE, "image", "Input image", None),
    (PF_DRAWABLE, "drawable", "Drawable", None),
    ],
    [],
    plugin_main,
    menu = "<Image>/Filters")
main()

コメント