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

Inkscapeのオブジェクトグループにオブジェクトを追加する方法

  このページでは、Inkscapeのオブジェクトグループに新しくオブジェクトを追加する方法について整理してみたいと思います。

(2025.06.10更新)

レイヤへの追加

 Inkscapeでは、ドキュメント内に複数のレイヤを作って、どれか1つのレイヤを編集対象としてアクティブにして(1つのレイヤにフォーカスを当てて)、オブジェクトに対する操作(選択や新規オブジェクトの追加など)はそのアクティブなレイヤに対してだけ行うようにすることができます。(詳しくは「「レイヤーとオブジェクト」ダイアログ」に書いてあります)

 次の例では、2層のレイヤを作って、下位のレイヤをアクティブにした状態です。

 この状態で、キャンバス上に新しい星形オブジェクトを描きます。するとその新しいオブジェクト(path6)は自動的に下位レイヤ「Layer2」の中に追加されます。

オブジェクトグループへの追加

 オブジェクトグループについてもレイヤと同様に、どれか1つのグループをアクティブにして、そのアクティブなグループの中のオブジェクトだけを選択対象にすることができます。そのことは「オブジェクトの選択操作(補足)」のほうに書きました。

 なお、グループをアクティブにすることをInkscapeでは「グループに入る」と呼んでいます。

 そして、あるグループに入った状態では、オブジェクトの追加(新規オブジェクトやオブジェクトのペースト)もそのグループを対象に行われます。

 例えば次のようなグループがあるとします。

 右側のレイヤーとオブジェクトダイアログを見ると分かるように、すでにグループ(g1)に入っている状態なので、「g1」に薄い色でフォーカスが当たっています。

 この状態で、キャンバス上に新しい星形オブジェクトを描きます。するとその新しいオブジェクト(path7)は自動的に「g1」の中に追加されます。

 新規オブジェクトではなく、コピーしておいたオブジェクトをペーストする場合も同じような動きになります。

クリッピング対象への追加

 クリッピングされた状態のオブジェクトも「マスクヘルパー」と呼ばれるオブジェクトグループの中に自動的に配置されているので、クリッピング対象のオブジェクトに別のオブジェクトを追加することもできます。マスクヘルパーについては「クリッピング/マスキング済みオブジェクトの選択」のほうに書いてあります。

 例えば次のように星形オブジェクトがあったとして、これに円オブジェクトを重ねて描きます。

 2つのオブジェクトを両方選択してクリッピングすると、次のように円オブジェクトのアウトライン(縁)の位置で星形オブジェクトが切り取られます。(クリッピング操作の詳細は「クリッピングとマスキング」を)

 クリッピングによって「g7」というマスクヘルパー(オブジェクトグループの一種)が生成され、星形オブジェクトはその中に配置されます。

 ここで、オブジェクトグループの時と同じように、マスクヘルパーをアクティブにしておいて、新しい星形オブジェクトをキャンバス上に描くと、次のようにその新規星形オブジェクトはマスクヘルパーの中に生成されるので、結果としてクリッピング対象として星形オブジェクトを追加したことになります。

 マスクヘルパーをアクティブにする操作は、そういう呼び方が正しいかどうかわかりませんが「マスクヘルパーに入る」と呼んでも良さそうです。ただ、通常のグループと違って、マスクヘルパーはキャンバス上で目に見えないので、グループと同じようにキャンバス上でダブルクリックすることで「入る」のは少し難しいです。レイヤーとオブジェクトダイアログの上で2回クリックして「入る」ほうが分かりやすいかと思います。

クリッピングパスへの追加

 「複数パスでまとめてクリッピングする」でちょっと触れましたが、クリッピング対象のオブジェクトではなく、クリッピングパスの元にするクリッピング用オブジェクトにもオブジェクトグループを使うことができます。そして、同じように、オブジェクトグループを使ってクリッピングした状態のクリッピングパスに別のオブジェクトを追加することができます。

 ただし、クリッピングパスをオブジェクトグループを使って設定しても、レイヤーとオブジェクトダイアログ上では1つのマスクヘルパーとして表示されてしまうので、クリッピングパスそれ自体の中にオブジェクトを追加することができません。

 そこで、次のようにすればクリッピングパスにもオブジェクトを追加できると考えました。

 例として、クリッピング対象のビットマップオブジェクトと、クリッピングパスに使う2個の円オブジェクトを描きます。2個の円オブジェクトはグループ化しておきます。

 この円オブジェクトグループをビットマップオブジェクトに重ねておいてクリップを設定すれば普通の手順ですが、それではクリッピング後のクリッピングパスにオブジェクトを追加することができません。

 そこで、クリッピング用の円オブジェクトグループのクローン(use12)を作ります。

 そしてこのクローンのほうを使ってクリッピングします。クローンをビットマップオブジェクトに重ねて・・・

 クリッピングを実行します。するとクローンであっても同じように複数のオブジェクトを組み合わせた形にクリッピングされます。

 ここで、このクリッピングパスに円オブジェクトを1個加えてみます。クローン元にした円オブジェクトグループのほうに「入る」操作をしたうえで、新規円オブジェクトをキャンバス上に描きます。

 上に書いたように、この新規オブジェクトは円オブジェクトグループに追加されます。そしてここがポイントですが、このグループから作られたクローンも、クローン元グループにオブジェクトが追加されたことに反応(?)して、追加した円オブジェクトから生成されたクリッピングパスが追加されます。

 クリッピング結果のほうにも3個目の円が追加された状態で切り取られていることが分かります。