HOME  /GIMP
 /GIMPのスクリプト(arrow-set-size)で矢印を書く
2023年04月17日

GIMPのスクリプト(arrow-set-size)で矢印を書く


ここでは下図の様な矢印を作画する方法を解説します。

上記をGIMPの基本コマンドで書く事はできなくはありませんがかなり手間が掛かります。

しかし「arrow-set-size.scm」というスクリプトを使うと、1コマンドで簡単に作画する事ができます。

ここでは、このスクリプトの入手方法からカスタマイズ方法を解説します。

 

1.arrow-set-size.scmの入手と個人フォルダへの登録

1.arrow-set-size.scmをダウンロードします。

https://www.gimp-forum.net/attachment.php?aid=360

上記URLをクリックすると「arrow-set-size.scm .zip」というファイルがダウンロードされますので解凍して下さい。

そうすると「arrow-set-size.scm」というスクリプトファイルが入手できます。

 

2.個人のスクリプトフォルダにスクリプトを登録する。

入手した「arrow-set-size.scm」を「c:¥my-gimp¥scripts」にコピーします。

新規スクリプトの登録場所は「GIMP2.10をカスタマイズする為の基本を理解する」を参照してください。

 

3.入手したスクリプトをカスタマイズします。

カスタマイズ方法は「arrow-set-size.scmのカスタマイズ」を参照して下さい。

 

2.操作方法

1.使い方の基本

①矢印の描画は下記の「パス」ツールを利用します。

このコマンドをクリックします。

②画面に2点を入れます。

■左下が1点目です

■右上が2点目です

■ここで描画色を確認します。

上記の場合は赤で矢印が引かれます。

 

③コマンドを実行します。

Script-Fu矢印の作画」を実行します。

下記ダイアログBOXが表示されます。

■「リセット」はパラメータをデフォルト値に戻す時に利用します。

■「OK」は、スクリプトを実行し矢を描画します。

 

④デフォルトで作画すると下図のような矢印が描画されます。尚、色は描画色が利用されます。

■作画して時に気に入らなければ追加されたarrowレイヤを削除して下さい。

■「矢じりの長さ」や「矢印の太さ」を変更して再描画して下さい。

 

2.その他パラメータを変更した場合

①は「矢じりの頭を塗りつぶしますか ?」の✓を外した矢印です。

②は「矢じりの頭を塗りつぶしますか ?」が✓で「矢じりの角度」が20度の矢印です。

③は「矢じりの角度」が30度の矢印です。

④は「塗りつぶし矢じりの切り込み量をパーセントで指定します」を100%にした矢印です。

⑤は「両方向矢じりにしますか ?」に✓を付けた矢印です。

 

3.曲線矢印や3点矢印の書き方

上記のパスツールでは下記のコマンドが利用できます。

やりたい事 解説
パス点の追加 マウスのクリックでパス点を追加できます。
パス点の移動 移動させたいパス点をクリックしてドラック&ドロップする事により移動させます。
パス点の削除 削除したいパス点をクリックして「BackSpace」キーを挿入すると削除できます。
終点の後ろに追加 終点をクリックしたのち、にマウスのクリックでパス点を追加できます。
線の間に追加 Ctrlキーを押しながら線の上をクリックすると、パス点が低下されます。
線の曲率変更 変更したい線をマウスで掴んで移動させるとカーブ線になります。

更にガイドラインを操作する事により前後の線とのつなぎを滑らかにします。

クローズ方法 Ctrlキーを押しながら始点をクリックするとパスで囲まれた領域が確定します。

そこでEnterキーを挿入するとパス領域が確定するので色を付ける事ができます。

 

1)曲線矢印の書き方

①線をクリックして移動させます。

②ガイドラインを調整します。

③矢印のスクリプトを実行します。

 

2)複数点の矢印の書き方

下記の矢印は3点の矢印です。

尚、2点以上の矢印を描画すると下記メッセージが表示されます。

■上記はパスに2点以上のポイントがあるというメッセージですが、これが出るのは1回だけですので無視してください。

■GIMPを再起動するとデフォルトに戻って、またこのメッセージが出る様になります。

 

4.その他のエラーメッセージ

①パスがない時に出力されるエラーメッセージ

②パスが1点しかない時に出力されるエラーメッセージ

③不明なパスが残っている時のエラーメッセージ

■矢印スクリプトのデフォルトでは矢印を描画した後、パスを削除する設定にしていますが、色々な原因でパスが残ってしまう事があります。

その時は「パス」のダイアログを開いて削除して下さい。

以上で上記のエラーは表示されなくなります。

 

3.arrow-set-size.scmのカスタマイズ

入手したスクリプトは、画面が英語である事と初期設定値が少しおかしいので、これを変更します。

1.ファイル形式を変更します。

スクリプトは「Scheme」という言語で作成されたプログラムでファイル識別子は「scm」になります。

またこのスクリプトで日本語を利用するためにはエンコードが「UTF-8(BOM無し)」である必要があります。

入手したスクリプトをEmEditorで開いて下さい。

画面の右下に表示されるコードが「日本語(シフト JIS)」ならば、下記を実行してください。

①「ファイル名前を付けて保存」を実行します。

②画面の右下のエンコードの所をクリックして「UTF-8(BOM無し)」を選択します。

③「保存」ボタンを挿入します。

上書きで了解すると、ファイルの形式がUTF-8(BOM無し)に変更されます。

以上でダイアログBOXを日本語化する準備が整います。

 

2.スクリプトのカスタマイズを行います。

修正した「arrow-set-size.scm」をEmEditorで開きます。

①不明なパスが残っている時のエラーメッセージの日本語化

元のプログラム(472行目)

(gimp-message "There is more than one path defined -\nthe active path defines the arrow")

下記に変更します。

(gimp-message "不明なパスが存在します -\n矢印は作画しますが、パスタブで不明なパスを削除して下さい。")

 

②パスが1点しかない時に出力されるエラーメッセージの日本語化

元のプログラム(483行目)

(error '(This script needs a path with two points) (/ theNumPoints 6))

下記に変更します。

(error '矢印の作画には2つのポイントを持つパスが必要です。中断します。)

 

③2点以上の矢印を描画すると表示される警告メッセージの日本語化

元のプログラム(489行目)

(gimp-message "This script needs a path with two points\nto position the arrow head and tail.\n\nThe path has more than two points\nThe first and last points are used")

下記に変更します

(gimp-message "パスに2つ以上のポイントがあります\n現在の複数ポイントで矢印を描画します。\n\n又、このメッセージは一度しか表示しません。。")

 

④パスがない時に出力されるエラーメッセージの日本語化

元のプログラム(663行目)

(gimp-message "This script needs a path with two points\nto position the arrow head and tail (first and last point of path is used)")

下記に変更します

(gimp-message "「矢印の作画」を実行しましたがパスが無いので中断します。\n\nパスを定義してから「矢印の作画」を実行して下さい。)")

 

⑤パラメータ入力画面の日本語化

元のプログラム(画面の一番下)

(script-fu-register "script-fu-draw-arrow-set-size"
  _"<Image>/Tools/Arrow-set-size"
  _"Draw a nearly arbitrary arrow in your image"
  "Berengar W. Lehr <[email protected]>"
  "2009, Berengar W. Lehr / MPG@IDIR, UH Jena, Germany."
  "19th November 2009"
  "*"
  SF-IMAGE       "The image"   0
  SF-DRAWABLE    "The drawable"   0
  SF-ADJUSTMENT  "yajirusiaaaaaaa no nagasa (LoW)" '(20.0 1 500 1 10 1 1)
  SF-OPTION      "Length of wings type"            (list "LoW Pixels" "Path length divided by LoW value" )
  SF-ADJUSTMENT  "Angle between arrow and wing in degrees" '(25 5 85 5 15 0 0)
  SF-TOGGLE      "Fill head of arrow?" TRUE
  SF-ADJUSTMENT  "Percentage size of notch of arrow head\n(only valid if head of arrow is filled)" '(75 0 100 1 10 0 1)
  SF-ADJUSTMENT  "Brush thickness (BT)" '(3 1 500 1 10 0 1)
  SF-OPTION      "Brush thickness type"            (list "BT Pixels" "Path length divided by BT value" )
  SF-TOGGLE      "Use first path point as arrow head?\n(if not the last path point of is used as arrow head)" FALSE
  SF-TOGGLE      "Delete path after arrow is drawn?" TRUE
  SF-TOGGLE      "Use new layer for arrow?" TRUE
  SF-TOGGLE      "Draw double headed arrow?" FALSE
  SF-TOGGLE      "Curved arrow wings? (only for curved paths)" FALSE
  SF-ADJUSTMENT  "Points for curved arrow wing (2 to 99)" '(20 2 99 1 10 0 1)
)

下記に変更します

(script-fu-register "script-fu-draw-arrow-set-size"
  _"<Image>/Script-Fu/矢印の作画"
  _"Draw a nearly arbitrary arrow in your image"
  "Berengar W. Lehr <[email protected]>"
  "2009, Berengar W. Lehr / MPG@IDIR, UH Jena, Germany."
  "19th November 2009"
  "*"
  SF-IMAGE       "The image"   0
  SF-DRAWABLE    "The drawable"   0
  SF-ADJUSTMENT  "矢じりの長さ(LoW値)"         '(20 10 50 10 10 0 0)
  SF-OPTION      "矢じりの長さのタイプ"         (list "LoW値" "矢の長さ÷LoW値" )
  SF-ADJUSTMENT  "矢じりの角度"             '(20 10 50 10 10 0 0)
  SF-TOGGLE      "矢じりの頭を塗りつぶしますか ?"    TRUE
  SF-ADJUSTMENT  "塗りつぶし矢じりの切り込み量をパーセントで指定します。\n100%は◀になります。\n0%は塗りつぶしが無くなります。" '(70 0 100 10 10 0 0)
  SF-ADJUSTMENT  "矢印の太さ(BT値)"           '(2 1 20 1 1 0 0)
  SF-OPTION      "矢印の太さのタイプ"          (list "BT値" "矢の長さ÷BT値" )
  SF-TOGGLE      "最初のパスポインを矢じりにしますか ?\n(✓を付けると最初のパスポイントが矢じりになります)" FALSE
  SF-TOGGLE      "矢印の描画後にパスを削除しますか ?"  TRUE
  SF-TOGGLE      "矢印を新しいレイヤーに描画しますか ?" TRUE
  SF-TOGGLE      "両方向矢じりにしますか ?"             FALSE
  SF-TOGGLE      "曲がった矢じりにしますか ? (カーブ矢印の時のみ動作します)" FALSE
  SF-VALUE	     "曲がった矢じりの内部処理値A:"      "20"
)

以上で「arrow-set-size.scm」が使いやすくなります。

戻る

 

以上でこのドキュメントの説明は完了です。

関連ドキュメントは下記の関連記事一覧から探して下さい。


<関連記事一覧>

「gimp」に関連するドキュメントを表示しています。尚、このページネーションはJquryで制御しています。

ここではGIMPのスタンプを使って写真画像から不要な部分を消去する方法を解説しています。

GIMPで色を指定するツールには「パレット」、「GIMP」、「色相環」、「CMYK」、「水彩色」があります。ここではそれらの使い方を中心にGIMPで色を指定する方法を解説しています。

色々なポスターやテレビ画像では、文字や画像を縁取りした画像が使われています。ここでは「210_effects-selection_glow-selection.scm」というスクリプトを使って縁取りする方法を解説しています。

ここでは「GIMPの標準ブラシとは」、「GIMPブラシのカスタマイズ方法」、「GIMPブラシのデフォルトサイズ変更方法」、「GIMPブラシのサイズをマウスホイールで変更できる様にする方法」、「GIMPでPhotoshopブラシを使う方法」を解説しています。

GIMPのデフォルトフォントは数が多すぎて使いづらい上に、商用利用しても問題がないのか?の疑問があります。本ドキュメントではデフォルトのWindowsフォントを削除し、商用利用可能なフォントだけを追加する方法を解説します。

ここではGIMPのカラーパケットの整理方法を解説しています。

GIMPをカスタマイズする為には個人フォルダに機能を付け加えますが、個人フォルダはPCの環境によって異なる性質を持ちます。そこでそれらに影響されないOS直下の個人フォルダの作り方を解説しています。

GIMP2.10系は[Photoshop]に似せた画面になりましたが画像編集初心者には判りずらい画面です。そこでここではGIMP2.10系のインストールからGIMP2.8系の様な初心者に判り易い画面に変更する方法を解説しています。

ここではGIMPの「ブラシで作画する時の注意点」、「ブラシで直線を引く」、「曲線を引く」、「ブラシを使って図形を描画する」、「ブラシを使って背景を作成する」、「消しゴムの使い方」を解説しています。

GIMPの使い方が判ってくるとGIMPで名刺をデザインし独自の名刺を作る事も可能になります。このドキュメントは100円ショップのダイソー等で名刺作成用のプリンタ用紙を購入し自宅のプリンタで印刷する方法を解説していますがこれを理解すると名刺印刷業者のHPに書かれている内容も理解できるようになります。

GIMPの操作画面は、自分が使い易い様にカスタマイズができます。このドキュメントはそのやり方解説しています。

GIMPのブラシには「GBRブラシ」、「GHIブラシ」、「VBRブラシ」があります。ここではそれらの作成方法を解説しています。

GIMPには「ベベル処理」と「影の追加」を行うスクリプトがありますが使い勝手があまり良くありません。そこでこれらのスクリプトをユーザ環境に取り込み使い易くカスタマイズする方法を解説しています。

3DTextというスクリプトを使って図形や文字を3次元化する方法を解説します。尚、本稿では3DTextをカスタマイズして使い易くする方法も解説しています。

写真画像の中には人や物などを消したい時があります。プラグインの「Resynthesizer」は、これを簡単に行ってくれるプラグインです。ここでは子のプラグインの入手方法からカスタマイズまでを解説しています。

ここでは背景画像、複数の部品から構成される画像を作成する方法を解説しています。

GIMPでテキストを作成する方法を解説しています。またデザイン分野では文字の大半が縁取り文字になっていますがこれを行う為の基本的な操作も解説しています。

GIMPで図形を描画する場合どのレイヤに図形を書くのか?が一番重要になります。また図形を綺麗に書く為にはガイド線をうまく使う事と、曲線を含む図形を書く為にはパスツールを理解するとうまく書くことができます。本ドキュメントはこれらの図形描画にまつわる基本的な事項を解説しています。

ここではGIMPに独自のカラーパレットを追加する方法を解説しています。

ここでは『GIMPとは何か?』を理解する事を中心に「キャンパスとレイヤの違いを理解する
」「クリップボード画像の取り込み方」「レイヤ操作」「レイヤ操作コマンド」を解説しています。

GIMPのフォントは自分が追加したフォント以外にGIMP標準フォントが追加されます。またGIMPのフォント表示はabc順でソートされる為、自分が追加したフォントが上記フォントの中に埋没してしまう問題があります。そこで本ドキュメントでは自分が追加するフォントの表示名を「tfname3.exe」で変更する事により、GIMP標準フォントの上に表示させる方法を解説します。

GIMPで切り抜き画像を作成する方法は色々な方法があります。本ドキュメントでは「.輪郭がハッキリしている画像の切り抜き」と「輪郭がハッキリしてない画像の切り抜き」を事例として解説しています。

GMICはGIMP画像に色々なフィルタをかけて画像をカスタマイズするプラグインです。ここではGMICの入手方法から使い方を解説しています。