python-fu選択範囲のバウンディングボックスを取得する。gimp_selection_bounds()

GIMP コンピュータ
GIMP

gimp_selection_bounds()
選択範囲のバウンディングボックス(境界ボックス)の座標情報を返します。

GIMPで1000×1000の画像を作成し「Ctrl」+「A」で全選択。
メニュー「フィルター」→「Python-Fu」→「コンソール」を起動
以下をコードを実行

image = gimp.image_list()[0]
pdb.gimp_selection_bounds(image)

結果

(1, 0, 0, 1000, 1000)

non_empy…1(TRUE) 範囲選択されている。0(FALSE) 範囲選択されていない
x1…0 バウンディングボックスの左上隅のx座標
y1…0 バウンディングボックスの左上隅のy座標
x2…1000 バウンディングボックスの右下隅のx座標
y2…1000 バウンディングボックスの右下隅のy座標

座標が0~1000だと1001ピクセルになるので、右下隅の座標は999になると思われる。

ただ、この値は各ピクセルにアクセスするループをする場合都合がよかったりします。

for x in range(x1, x2):

0~999までループしてくれます。

逆にループする場合は、ちょっと理解しにくいコードになります。

for x in range(x2-1, x1-1, -1):

999~0までのループになります。

コメント