9
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

python-fu 自動操作おさらい

Last updated at Posted at 2017-02-15

Python-fu 操作おさらい

GIMPでよく使う基礎処理をまとめ。

imageの取得

ファイルロード時

import sep

filepath = C:\"
filename = filepath + sep + raw_filename
image = pdb.gimp_file_load(filename, raw_filename)
display = pdb.gimp_display_new(image)

ロード済の状態から取得する場合

image = gimp.image_list()[0]

操作するレイヤーの設定

レイヤーIDで指定する場合。レイヤー一括処理する時に使う

num , ids= pdb.gimp_image_get_layers(image)
layer = gimp.Item.from_id(ids[0])	#リストからのレイヤーID指定

レイヤー名で指定する場合

layer = pdb.gimp_image_get_layer_by_name(image, name)	## レイヤー名からのレイヤ指定

レイヤー追加

gimp.Layer()だけではアルファチャンネルは含まれない事に注意

image = gimp.image_list()[0]
name = "新規レイヤー"
width   = image.width
height  = image.height
type    = RGB_IMAGE
opacity = 100
mode    = NORMAL_MODE
layer = gimp.Layer(image, name, width, height, type, opacity, mode)

# 最前列にレイヤーを追加
position = 0
image.add_layer(layer, position)

# アルファチャンネルの追加
pdb.gimp_layer_add_alpha(layer)
pdb.gimp_edit_clear(layer)

レイヤーの確認・作成

レイヤーのチェック、なければ作成

num , ids = pdb.gimp_image_get_layers(image)
name = "test" 
for layer_id in ids:
	layer = gimp.Item.from_id(layer_id)
	if layer.name == name:
		break
else:
	name = "mask"
	layer = add_layer(image,name)

全レイヤーを処理する例

num , ids = pdb.gimp_image_get_layers(image)
for layer_id in ids:
	layer = gimp.Item.from_id(layer_id)
	print layer
        
	# 名前で処理しないレイヤーを判別
	if  through_layername1 in layer.name or through_layername2 in layer.name:
		continue
		
	# レイヤーマスクを無効
	if pdb.gimp_layer_get_apply_mask(layer):
		pdb.gimp_layer_set_apply_mask(layer, True)

	# 不透明な範囲を選択
	pdb.gimp_selection_none(image)
	pdb.gimp_image_select_item(image, 0, layer)

    # 描画色の設定
    maskcolor = (255,255,255,1.0)
	pdb.gimp_context_set_foreground(maskcolor)
			
	# 塗りつぶす[Ctrl+;]
	pdb.gimp_edit_fill(layer, FOREGROUND_FILL)

9
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?