手順が地味に面倒なので作った。
以前キーマクロソフトで作ったが動作が安定しないのでちゃんとGIMPプラグインで作り直した。
選択したテキストレイヤーの下に縁取りのレイヤーができる。
テキストじゃなくても透明部分があるものはすべて縁取り出来る。
この方法だと角の丸い縁取りができる。
角の角い縁取りを作る方法はこっち。
重要メモ
#アクティブレイヤーの位置取得
act_position = pdb.gimp_image_get_item_position(image,act_layer)
* インストール方法
以下をコピペしてファイル名をadd_outline_text.pyにしてutf-8で保存後、GIMPのプラグインフォルダーに入れる。
GIMPのメニューの「レイヤー」→「add outline text 」をクリックすると動作する。
プラグインフォルダーはGIMPを起動し「編集」→「設定」→「フォルダー」→「プラグイン」で確認の事。
#!/usr/bin/python # -*- coding: utf-8 -*- import random from gimpfu import * def add_outline_text(size): #一番下のレイヤーの情報取得 image = gimp.image_list()[0] #アクティブレイヤーを取得 act_layer = image.active_layer #選択範囲を解除 pdb.gimp_selection_none(image) #レイヤーを新規作成 name = "縁取り" width = image.width height = image.height type = RGB_IMAGE opacity = 100 mode = NORMAL_MODE new_layer = gimp.Layer(image, name, width, height, type, opacity, mode) #アクティブレイヤーの位置取得 act_position = pdb.gimp_image_get_item_position(image,act_layer) new_position = act_position + 1 #レイヤー位置指定 image.add_layer(new_layer, new_position) # アルファチャンネルの追加 pdb.gimp_layer_add_alpha(new_layer) pdb.gimp_edit_clear(new_layer) # 不透明な範囲を選択 pdb.gimp_image_select_item(image, 0, act_layer) #選択範囲を拡大 pdb.gimp_selection_grow(image ,size) #描画色で塗りつぶし pdb.gimp_edit_fill(new_layer, FOREGROUND_FILL) #選択範囲を解除 pdb.gimp_selection_none(image) register( "add_outline_text", "add outline text", "add outline text", "katsumi", "katsumi", "2022", "add outline text", "", [ (PF_INT, "size", "縁取りのサイズ", 2), ], [], add_outline_text, menu = "<Image>/Layer" ) main()
参考サイト
アクティブレイヤーの取得
mendo.work
不透明な範囲を選択、塗りつぶし
qiita.com