論文などを書いていると、PowerPointで作った画像をベクタ画像にしたいことがあります。
いくつかやり方を試したことがあるのですが、現在自分なりにラクで、トラブルも少ないと思う方法を紹介します。
今回はベクタ画像として、PowerPointで作った図をPDFに変換してみます。
普段我々が使っている画像には「ラスタ画像」と「ベクタ画像」があります。
あまり意識していない場合、多くの画像は「ラスタ画像」になっていることが多いと思います。
ラスタ画像のデータは、画素(ピクセル)で構成される。ラスタ画像編集ソフトとして「Adobe photoshop」が著名。
メリット:画素ごとに色を設定できるので、写真などの複雑なデータの表示に適する
デメリット:拡大や縮小で品質劣化が目立つ
主な方式:BMP(ビットマップ)、JPEG、PNG
ベクタ画像:図形を数式で表現する形式で、例えば直線、曲線、円の方程式などに基づき、点と点を結ぶ数式で図形が定義される。そのため、画像を拡大してもラスタ画像のピクセルのように粗くなったりすることがない。 画像データは、画素(ピクセル)で構成される。ベクタ画像編集ソフトとして「Adobe illustrator」が著名。
メリット:拡大・縮小に適している、データサイズを抑えられる
デメリット:複雑な画像表現に適さない
主な方式:EPS、PDF、SVG
ラスタ画像とベクタ画像は用途によって使い分けるべきものですが、 一般に、論文などではデータサイズをコンパクトにしたいことや、例えばフローチャートのような単純図形で構成される図が多いことから、ベクタ画像が好まれることが多いです。 では、変換方法を見ていきましょう。
PowerPointから仮想プリンタを作ってベクタ画像を出力する方法とか、作り方はいろいろあると思いますが、意図するような画像が上手く出力できなかったりトラブルもあったりするので、最近はこれから紹介する方法で変換しています。
まずはPowerPointで図を作ります。
今回は比較もしたかったので、ラスタ画像とベクタ画像の両方を作りました。ラスタ画像は単なるjpegやpngで保存すれば良いだけなので、ここはベクタ画像を作る方針で進めます。
まずはPowerPointで以下のような画像を作ってみました。
次に、ベクタ画像にしたい図形の上で右クリックし、「図として保存」を選択します。
ここで色んな形式で保存することができるのですが、ベクタ画像を作る場合には、「スケーラブル ベクター グラフィックス形式」で保存します。.svgという拡張子で画像が保存されます。
PowerPoint上での作業は以上となります。
フリーのドローソフトであるInkscapeをダウンロードしましょう。
以下のサイトからダウンロード可能です。
SVG形式の時点で既にベクタ画像になっているのですが、TEXでベクタ画像を扱いたいという観点から、最近はPDFにするのが好みです。
なので、Inkscapeを使ってSVG形式をPDF形式に変換します。
インストールは特に難しい点はないと思うので、インストールは省略します。インストールしてInkscapeを起動した後に、先ほど作成したSVGファイルを読み込みます。
そして、「ファイル」->「名前を付けて保存」を選択します。
ここでPDF形式を選択して保存します。
保存すると下の図の右のようなwindowが出るかもしれませんが、ここで「エクスポートオブジェクトのサイズを使用」を選びます。
これを選ぶことで、キャンバスのサイズではなく、図形のサイズ(左下の画像で点線の枠で囲まれている部分)に合わせて画像を出力できます。
これにて、PDFのベクタ画像の作成が完了しました。
PDFのベクタ画像の作成という意味ではここまでで完了していますが、実際に正しくベクタ画像が作られたかどうかを次の手順で確認してみます。
それでは作ったPDFファイルをTEX上で読み込めるか確認してみます。
今回はTexの環境構築等は特にテーマとして扱いません。なるべく簡易に確認したかったので今回は面倒な環境構築が不要で、クラウド上でオンラインでTexのドキュメント作成ができるOverleafを使用しました。
一応、JPEG形式でラスタ画像も容易して、Overleaf上で以下のようにラスタ画像とベクタ画像の双方を表示するSourceを記述してみました。
少しわかりづらいですが、結果を見るとベクタ画像の方が輪郭が鮮明に表示されていることがわかります。
ファイルサイズはベクタ画像(PDF)が7.85KB、ラスタ画像(JPEG)が20.0KBとベクタ画像の方がデータサイズもコンパクトであることがわかります。
PowerPointで作った図をベクタ画像(PDF)にしてみました。
Inkscapeを一回挟むので少し煩雑な部分もありますが、大量の画像を変換したいとかでなければ割とスムーズに変換ができます。