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

Inkscapeのディスプレイ解像度の話

 このページでは、Inkscapeを使っていると時々目にすることになるけれどわかっっているようでよくわからない、Inkscapeとディスプレイの解像度との関係についてまとめてみようと思います。

(2023.12.12更新)

Inkscapeの解像度とは?

 Inkscapeは他のお絵描きツールと同じようにオブジェクトの長さ(ストロークの幅など)を「cm」や「mm」や「inch」のようなものさしで実際に測れる単位で指定できます。

 ここで指定した単位とその数値はオブジェクトのディスプレイ画面上でズーム100%で表示したときの長さを指定したものになるので、ディスプレイ画面上でも印刷したときの紙の上でも、例えば1インチの線は1インチで画面に表示され、1インチで紙に印刷されます(されるはず、というべきか)。

 ところで、ディスプレイへの画像の表示は「ピクセル」と呼ばれる小さいドットに色を設定することで行われます。Inkscapeがディスプレイにオブジェクトを描くときも、Inkscapeのプログラムの中からコンピュータに対してピクセルごとの色を指定する命令が出されているはずです。

 そうだとすると、1インチと指定された長さのオブジェクトをInkscapeがディスプレイに表示させる際は、「このコンピュータのディスプレイでは1インチは何ピクセルで表示されるのか?」を認識した上で、その数の分だけピクセルの色を指定する命令を出さないといけません。

 この「1インチは何ピクセルで表示されるのか?(単位で表現するとDPI/Dots Per Inch)」を、ディスプレイの解像度と呼ぶそうです。

 ところでこの解像度、ディスプレイの仕様によって全然違うものであることが昔からの常識だと思っていたのですが、どうもそうでもないらしいということがInkscapeのことを調べているうちにわかってきました。

 というのも、Inkscapeはディスプレイ画面の解像度のデフォルト値を「96dpi」にしているようなのです。つまり、Inkscapeは「1インチと指定された長さの絵図をコンピュータに描かせるには96ピクセルで描かせれば良い」と思っているということです。

 でもディスプレイによって異なるはずの解像度をソフトウェア側で決め打ちの固定値にしていいのか?と思ってしまいますが・・・。

 どうも、ディスプレイの解像度というのは、ピクセルが小さければ小さいほど良いということは実はなくて、「96dpi」という解像度のピクセルの大きさであれば、ディスプレイ画面から腕を伸ばした距離だけ離れた位置で見たときに負担なく快適に見ることができる解像度なのだそうで、CSS(スタイルシート)で長さの指定に用いる「1px(ピクセル)」という表記のディスプレイ画面上の長さもこれを基準にしているのだそうです。(人間工学的なお話なのでしょうか・・・)

 ディスプレイのハードウェアとしての性能ではなくて、ソフトウェアとしての1ピクセルの大きさを揃えてしまおうというわけですね。だからハードウェアの「ドット」を使った表現である「DPI」という単位と区別して、「PPI(Pixel Per Inch)」という言い方をすることも多いようです。

 というわけで、CSSのような画像で用いられる長さの単位は1インチ(すなわち25.4mm)あたり96ピクセルを並べることを前提としようという取り決めがなされたのだと理解しました。

 そうすると、96dpiを固定の解像度としているInkscapeの場合、「1インチ」と指定された長さのオブジェクトは96ピクセルで描画され、「1px(ピクセル)」と指定された長さのオブジェクトは「1/96インチ」で表示されるということになります。

1ピクセルの大きさの精度は?

 ところが、使っているディスプレイの物理的な画素1個の大きさと、ソフトウェア上の「1/96インチ」というピクセル1個の大きさとが、どういう理由かは知らないのですがピッタリ一致しない場合があって、「96px」の大きさのオブジェクトを描いても、ディスプレイ上でぴったり1インチにならない場合があるよ、少しズレる場合があるよ、ということなのです。

 実際、Inkscapeで「96px」の長さに設定した線の長さを画面上にものさしを当てて測ってみると、1インチ(25.4mm)よりもほんの少し短かったです。

 これではInkscape上で「1mm」を設定した線がディスプレイ画面上では「1mm」より少し短い線になってしまいます。ディスプレイ画面上の長さをそこまで正確に表示させたい場合はそんなにないのかもしれませんが、お描きソフトである以上何とかしたいところです。

画面上の長さを正確に設定

 そこで、Inkscape上で「1mm」を設定すれば、画面上にものさしを当てて測っても「1mm」ぴったりの長さで表示されるようにするにはどうすればいいのか、というはなしになります。

 実際にやってみます。

 まず、Inkscapeで指定する単位を分かりやすく(確認しやすく)「cm」にしておきます。そのためには、ドキュメントのプロパティダイアログを開いて、表示タブの表示の単位として次のように「cm」を選択します。

 そして、キャンバスに水平に線(パス)を描いて、ツールコントロールバーののところに「1.0」と入力すると、次のように1.0cmの線になります。

 ただし、上のほうで書いたようにディスプレイ上では正確には1.0cmとは少しだけ違う長さになっていたりします。

 そこで、この「ズレ」を環境設定ダイアログ上で補正する設定をします。

 環境設定ダイアログを表示して、インターフェイスタブを開くと、次のようなズーム補正係数と書かれたスライダーと、そのすぐ下にルーラー(目盛り)が表示されます。

 このスライダーを左右にドラッグすると、下のルーラーの間隔が拡大したり縮小したりします。

 ここで、ルーラーの表示されているあたりにものさし(本物)を当てて、ルーラーの目盛りがものさしの目盛りにぴったり合うようにスライダーを動かします。ぴったり合うところに動かしたら設定完了です。

 こうすると、スライダーの位置に応じた補正係数(上のサンプルでは105%)で自分のディスプレイのハードウェアとしての解像度に合わせた微調整が行われるので、キャンバス上で「1cm」と設定した長さの線は、ディスプレイ上で本当に「1cm」で表示されるようになるというわけです。

 ここまでディスプレイ上の長さが正確である必要はなかなかないようにも思いますが、Inkscapeもしっかしそれをサポートしているのだなということが確認できました。