Inkscapeの紹介~つくば市とその周辺の風景写真案内(56)

Inkscape

5月なって、フリー描画ソフトであるInkScapeがバージョンアップして、1.0になったというニュースが入ってきたので、さっそくインストールしてみました。

描画ソフトは色々ありますが、ベクトルをサポートしてること、PostScriptをサポートしていることを条件とするとフリーでは、Inkscapeしか思いうかびません。

Kritaもバージョン4からは、ベクトル図形が扱えるようになりましたが、PostScriptは読み込めません。

Adobe社は、ベクトル図形を表現する仕様として、最初に、PostScriptのデータ仕様とPostScriptインタプリターを作成しました。また、対応アプリとしてはイラストレータを作りました。フリーのPostScriptインタプリタとしてが、GhostScriptが知られており、その中のトラの図が、PostScriptの動作チェックによく使われます。今回もこの図をつかってみます。なお、Adobe社はその後、PDFの仕様を作成して、現在は、PostScriptはPDFの一部にもなっているようです。TeXも当初は、図形をPostScriptで扱っていましたが、PDF対応になってからは、PostScriptを意識することはなくなりました。

 

図1は、InkscapeでトラのPostScriptファイルを読み込む場合です。PostScriptを読み込むつもりなのに、突然PDFが出てきて驚かされます。

マニュアルには以下のように書かれています。


PDF/PS/EPSのインポート

Adobe PDF、PostScript、EPSをインポートすると、次のダイアログが表示されます。PostScriptとEPSはInkscapeで内部的にPDFに変換してからインポートされるため、共通の設定ダイアログが使われています。


なので、これで問題はないようです。

f:id:computer_philosopher:20200523090831j:plain

図1 InkscapeのPoastScript読み込み

 

 

 

図2がトラを読み込んだ状態です。

 

f:id:computer_philosopher:20200523090856j:plain

図2 Inkscapeで読み込まれたトラ

 

 

図3はトラを拡大した例です。トラの図は、Inkscapeの内部でベクトルとして扱われているため、拡大しても図の劣化がおこりません。

ベクトルで、図形を扱うメリットは、サイズ変更に伴う図形の劣化が起こらないことです。InkscapeSVG (Scalable Vector Graphics) をネイティブフォーマットで採用しています。

 

f:id:computer_philosopher:20200523090939j:plain

図3 Inkscapeでトラを拡大する

 

 

GimpはPostScriptを読み込むことができます。しかし、読み込むときにResolution を設定します。内部データはベクトルでラスターではありません。

図4は、gimpでトラの図を読み込んで拡大した状態です。ベクトルデータではありますが、ラスターのようなギザギザが発生しています。

 

 

 

f:id:computer_philosopher:20200523091010j:plain

図4 gimpでトラを拡大する

Kritaは、PostScriptを直接読み込むことはできませんが、Inkscapeの標準フォーマットである、svgを読み込むことができます。

InkscapeでトラのPostScriptを読み込こんで、svgに保存します。次に、このsvgをKritaで読めば、トラの図の読み込みができます。この時にも、解像度の設定が要求されます。内部データベクトルではありますが、図5のように、拡大するとギザギザが見られます。

この辺りのベクトルデータの扱いの違いはよくわかりませんが、とりあえず、Inklascapeにしておけば、拡大した時に図形の劣化はありません。

このように、Inkscapeは、ベクトルデータの扱いに優れていので、通常はラスターソフトとしては意識されません。ですので、写真のJpegを読み込んで、フィルターをかけられることを知っている人は少ないと思われます。

しかしながら、Inkscapeのフィルターは非常に優秀です。次回から、このフィルターを紹介します。

 

 

f:id:computer_philosopher:20200523091048j:plain

図5 Kritaでトラを拡大する