SVGとは

svg_-_3.jpg

SVGは「Scalable Vector Graphics」の略称です。

簡潔に言えばWeb上で使うことができる拡大縮小が可能なベクター画像のことを言います。

それでは、SVGはほかのフォーマットに比べどのようなメリットがあるのでしょうか。

SVGの強み

1. 1つのファイルでスマホ画面やRetina画面に対応

同じ画像・同じデザインであれば、スマホ画面の解像度用、hoverした時の画像…などいくつも画像を用意する必要がありましたが、SVGファイルであれば1つのファイルで対応できます。

結果的に画像サイズも軽減され、HTTPリクエスト数の削減につながり、結果としてページの表示スピードがあがり、SEOの効果も期待できます。

2. あとから色の変更やサイズ調整が可能

SVGは画像ファイルということもできますが、数式や文字を用いたデータファイルという側面も持ち合わせています。そのため、あとから色やサイズの変更が必要になったときに専用の画像ソフトを開いて編集しなくても、CSS上でサイズや色を変更できます。

3. アニメーションや透過も

これまでは、アニメーションといえばGIF、透過画像といえばPNGでしたが、SVGはアニメーションも透過もどちらも扱えます。
CSSやJavaScriptを使って動きをつけることも可能です。

SVGを使うべきとき・使うべきではないとき

svg_-_4.jpg

JPG画像がイメージサイズを軽量にできる反面、PNGやSVGフォーマットはともに透過背景・アルファ透過を扱うことができます。
それでは、透過色を使いたいときにはどちらを使えばいいのでしょうか。

SVGを使うべき場面

高画質の画像を縮小して通常画質のスクリーンにエクスポートすると、画像サイズが非常に大きくなってしまいます。
それを避けるためには、PNGよりもSVGを使ったほうがいい場合があります。

形が複雑でなければファイルサイズはビットマップ画像よりも小さくなり、拡大してもぼやけずに綺麗な状態で表示できます。
色やサイズの変更も簡単に行えます。

SVGを使うべきではない場面

SVGは数学的に計算して表示するベクター形式の画像フォーマットなので、形や色を効率良く表現することはできますが、写真のようにたくさんの画素を持つ写真には不向きです。

また、現在ではほとんどのブラウザでサポートしていますが、まれに未対応ブラウザも存在します。
その場合は未対応ブラウザでも対応できる「Modernizr.js」を使ってPNGの代替画像に置き換えるなど、一工夫必要な場合があります。

参考:
Modernizr.js

SVG画像を作成する方法

1. Illustratorなどのソフトを利用する

svg_-_5.jpg

PhotoshopやIllustratorなどのソフトを使えば、簡単にSVG画像を作成できます。
アイコンなどに使う場合は、「100px × 100px」のように正方形で作成したほうがよいでしょう。

パスを使って作成していきますが、できるだけ高さがいっぱいになるように作成したほうがよいでしょう。これは、高さがバラバラだと、思ったような表示にならないからです。

また、テキストデータなどを使っていたり、さまざまなオブジェクトが混在している場合は、必ずすべてをアウトライン化します。
色を変える場合にはのちほどCSSで変更しやすいように一色のオブジェクトにしておきましょう。

画像は最終の状態を一度保存しておき、「別名で保存」を選択して「SVG形式」で書き出せば完了です。

2. オンラインエディタを利用する

svg_-_6.jpg

IllustratorやPhotoshopのようなソフトは高額で手が出ない、という場合にはオンラインエディタを利用するのもオススメです。
「Vecteezy」はIllustratorでベクターを扱うのと同じように扱うことができます。
また、「ZorroSVG」のように、透過のPNGやGIFファイルをアップロードすれば、それよりも軽量な透過SVGファイルを作成してくれるような便利なWebサービスもあります。

参考:
Vecteezy
ZorroSVG

3. SVGライブラリをダウンロードする

svg_-_7.jpg

Simple IconsIcoMoonのようなホームページでは、すでに作成されたSVG画像をダウンロードできます。
のちほどテキストエディタで着色もできるので便利です。