「note」に引っ越し中です。移動したページごとに移動先へのリンクを作っていく予定です。

Inkscapeでオブジェクトの配色を白黒に変換する

 このページでは、Inkscapeで描いたオブジェクトの配色を灰色(グレースケール)に変換する方法について考えてみたいと思います。

(2025.04.06更新)

 グレースケールに変換するというのは、例えばカラー写真を白黒写真に変換するようなもので、Inkscapeで描いた絵図を白黒で印刷したいときにプリンタまかせにせずにInkscape上で白黒ドキュメントにしたり、特殊な効果をねらって白黒に変換したりする操作です。

 Inkscapeには「グレースケール」という名前のエクステンションがあって、これを使うと、選択したオブジェクトの色を適当な変換式を使って白黒(グレースケール)に変換してくれます。白黒に変換したいオブジェクトを選択しておいて、エクステンション > 色 > グレースケールを操作します。すると、ほんの少し待たされたあと、選択しておいたオブジェクトの色に応じた白/黒/灰色になります。

 このエクステンションは、元の色の「輝度」の大きさを、グレースケール化した後の色のR/G/Bそれぞれの値にセットします。「輝度」が大きい色は白っぽく、「輝度」が小さい色は黒っぽくなります。

 白黒への変換式は標準的なものがあるので、「グレースケール」エクステンションではなく、自分で任意の変換式を設定すると色の変換を行ってくれる「カスタム」というエクステンションを使っても、同じ白黒変換が可能です。

 次のように「カスタム」エクステンションを実行するとR/G/Bそれぞれの変換式を設定するダイアログが表示されるので、白黒への変換式(次の例ではざっくりした式を使ってます)を設定して「適用」ボタンを押します。

 すると「グレースケール」エクステンションと同じような変換が実行されます。

 ところでこの例のように、元の配色がはっきり分かれている場合は、グレースケール化したあとの白黒もはっきり分かれたものになりますが、次のように元の配色がぼんやりしたものになっていて、「輝度」にそれほどの変化がない場合は、このエクステンションを実行してもくっきり色分けされたグレースケールになりにくいです。

 そこで、「カスタム」エクステンションに設定する変換式をちょっといじって、元の色同士の「輝度」がそんなに変化していなくても、変換後の白黒ははっきり色分けされたものになるようにしてみました。

  ほんとに適当に作った変換式を設定していますが、輝度のわずかの変化を拡大して、白から黒まで大きく変化するグレースケール(のRGB値)に変換できています。