お絵描きソフトInkscape(インクスケープ)の使い方を初級レベルから上級レベルまで広く紹介しています。
情報追加のリクエストや分かりにくい点があれば下のCONTACTフォームからどうぞ。

Inkscapeでパスに重なっているオブジェクトだけ選択する

 このページでは、Inkscapeで描いた複数のオブジェクトから、特定のパスに重なっているオブジェクトだけを選択する方法について考えてみたいと思います。

(2024.12.17更新)

 というのも、Inkscapeで複数のオブジェクトをまとめて選択するには、マウスをドラッグすると表示される四角形(ラバーバンド)で選択したいオブジェクト群を囲う方法がありますが・・・

 ラバーバンドは四角形に限られるので、もっと複雑な形のパスで指定した範囲のオブジェクトだけ選択したくでもできません。

 次のように、重なっているパスに沿ってAltキーを押しながらフリーハンドの線を描けば、その線に重なったオブジェクトだけ選択するという方法も使えますが、フリーハンドなので隣合っている選択したくないオブジェクトにもうっかり線を引いてしまいそうで、少し面倒です。

  (参考:オブジェクトの選択操作

 そこでフリーハンドの線をおおざっぱに描いても隣のオブジェクトまで選択してしまわないように、選択したくないオブジェクトを一時的に隠しておくことを考えてみました。

 オブジェクト群と、それに重なっているパスを両方選択しておいて「クリッピング」を行って、パスに重なっているオブジェクトだけが表示されている状態にします。

 こうすると、Altキーを押しながら描いたフリーハンドの線が見えない(=全部クリッピングされてしまっている)オブジェクトの上を通ったとしてもその見えないオブジェクトは選択されなくなるので、見えているオブジェクトの上を大雑把にフリーハンドでなぞれば、間違って選びたくないオブジェクトを選択してしまうことなく、パスに重なっていたオブジェクトだけ選択することができます。

 この後は例えばメニューで編集 > 選択範囲を反転を操作すると見えていないほうのオブジェクト群(パスに重なっていなかったオブジェクトたち)だけを選択することもできるので、それらを削除してしまえばパスに重なっていたオブジェクトだけが残ることになります。

 ところでこのままではせっかくパスに重なっていたオブジェクトだけを選択してもクリッピングされたままになってしまうので、オブジェクト > クリップ > クリップを解除を操作して元に戻します。(参考:クリッピングとマスキング

 ただしこれだけでは完全に元に戻ってはいません。クリッピングに用いたパスはクリッピング操作によってクリッピング対象のオブジェクトごとに複製され、オブジェクトの表示時の切り取り処理に用いられるようになっているので、クリップを解除という操作をするとオブジェクトの数と同じ数のクリッピングパスが復元されてしまいます。ぴったり重なった状態で解除されるので見た目ではわかりにくいですが、解除直後は次のようなものがぴったり重なっている状態です。クリッピング操作時には1個だったパス(緑色の三角形)は解除すると3個に増えてしまいます。

 これではいろいろ面倒なので、復元されたパスのうち一番上のパスだけを残して、ぴったり重なっている他のパスは削除してしまいます。Altキーを押しながらマウスをドラッグしてぴったり重なっているパスを全部選択しておいて・・・

 重なっているパスの上でシフトキーを押しながらクリックします。そうすると一番上のパス以外のパスだけが選択された状態になる(一番上のパスの選択が解除される)ので一番上のパス以外のパスを削除します。こうすれば重複して復元されてしまったパスのうち1つだけを残すことができます。

 ここまでの例ではパスにすっぽり重なっているオブジェクトも一部分だけ重なっているオブジェクトも選択する手順になっていますが、パスの端(ストローク)に重なっているものだけ選択したい場合は、そのパスに対してパス > ストロークをパスに変換を操作してからクリッピングを行えば、ストローク部分に重なっているオブジェクトだけを残す(他のオブジェクトを隠す)ことができるので、あとは同じようにフリーハンドで選択していきます。