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に変換してからインポートされるため、共通の設定ダイアログが使われています。
なので、これで問題はないようです。
図2がトラを読み込んだ状態です。
図3はトラを拡大した例です。トラの図は、Inkscapeの内部でベクトルとして扱われているため、拡大しても図の劣化がおこりません。
ベクトルで、図形を扱うメリットは、サイズ変更に伴う図形の劣化が起こらないことです。Inkscapeは SVG (Scalable Vector Graphics) をネイティブフォーマットで採用しています。
GimpはPostScriptを読み込むことができます。しかし、読み込むときにResolution を設定します。内部データはベクトルでラスターではありません。
図4は、gimpでトラの図を読み込んで拡大した状態です。ベクトルデータではありますが、ラスターのようなギザギザが発生しています。
Kritaは、PostScriptを直接読み込むことはできませんが、Inkscapeの標準フォーマットである、svgを読み込むことができます。
InkscapeでトラのPostScriptを読み込こんで、svgに保存します。次に、このsvgをKritaで読めば、トラの図の読み込みができます。この時にも、解像度の設定が要求されます。内部データベクトルではありますが、図5のように、拡大するとギザギザが見られます。
この辺りのベクトルデータの扱いの違いはよくわかりませんが、とりあえず、Inklascapeにしておけば、拡大した時に図形の劣化はありません。
このように、Inkscapeは、ベクトルデータの扱いに優れていので、通常はラスターソフトとしては意識されません。ですので、写真のJpegを読み込んで、フィルターをかけられることを知っている人は少ないと思われます。
しかしながら、Inkscapeのフィルターは非常に優秀です。次回から、このフィルターを紹介します。