SVGの描画は予測が難しい 

大きなキャンバスサイズで精密な座標を辿ると、描画される線の軌跡は正確で再現性のあるものになります。 しかし、小型キャンバスの限られた座標を使うSVG画像では、線の軌跡が脱線するのか、最終的な画像に「デフォルメ感」が漂います。

 

これは大変に興味深く、SVGのアイコンを小サイズキャンバスで作る場合は、ある意味で高度な技術が要求されます。 小型キャンバスで作ると座標の数値が単純化され、SVGコードはコンパクトになるので、ウェブページのアイコンや記号のSVG表示には適しているわけですが。

 

その様な条件下でより美しい描画を追求すると、SVGの本性がなんとなく判って来ます。 これは匠の技で、ベクトルフォントの制作やデザインに関わる人達は、きっとそういうノウハウを蓄えているのではないかと、私は想像しています。

 

 

 

リンクマークを作る

「LinkCard Editor」は、リンクカードごとにSVGの「 」マークを追加するので、出来るだけ文字数の少ないSVGが欲しいところです。 これは私の課題で、SVGのコンパクトツールの助けを借り、コンパクト化に再挑戦して見ました。

 

私の経験からですが、大きめのアイコンで美しさに比重を置く場合や、複雑なデザインを表示する場合は「256 ~ 512」ピクセル程度が必要です。

 

しかし、極力データ量を減らしたい場合は「128」以下でも可能で、「32」ピクセルまで減らしても、運が良ければ見栄えの良い画像が得られます。 但しこの領域は描画線のコントロールが困難な場合があり、使えるかどうかはピクセル画によります。 また、SVG変換プログラムの性能も影響がありそうです。

 

 

64ピクセルの例 

下の左側は「64×64」の点を使ったマークの原画で、これをSVG化して、更にコンパクト処理した結果が右側です。

 

 

左の赤で示した部分のカーブが、特に目立って変形されています。 元のピクセル画から、右の描画は推測できるものではありません。 しかしその結果を見て、再び元のピクセル画を修正して、納得できるデザインに近づける事は可能です。 この例は、かなり良い結果になったもののひとつで、SVG画像に立体感があります。

 

 

SVG変換について 

SVG化は以下のサイトのオンライン変換を利用しています。

 

 

このページの操作は、先ず変換したいピクセル画をアップロードして、「output format」に「SVG」を指定します。 通常「Smoothing」は「Normal」を指定しますが、今回は文字数を減らすために「Smooth」を選択しています。 色々と試すと「Smoother」はさすがに変形が強く、「Smooth」は中間といった感じです。

 

 

もしSVGの文字数を気にしないなら、ここの設定は「Normal」の一択です。 しかし今回は「Smooth」を指定して「SVG」変換し、更に「Simple SVG」でコードの簡略化(通常の四捨五入処理)をしています。

 

 

 

ハネの妙 

少しずつ元のピクセル画を書き直していると、時間の経つのを忘れます。 下は、色々と試作したものですが、SVGの描画が微妙に変化して面白いです。

 

 

2個ずつが「元のピクセル画 / SVG」の組み合わせで、最初の赤枠は「32ピクセル」で、残りは「64ピクセル」、最後の1個は「LinkCard Editor ver.4.0」で使用しているものです。

 

このサイズのSVGでは、デフォルメが強く、線端の「ハネ」が独特です。 また、角が丸められて、カーブが楕円に近付く傾向がある様です。

 

 

文字数が少なくてもツボの描画をするSVG がある

以下の左側は「32ピクセル」から作ったSVGで「261文字」、右側は「64ピクセル」から作ったSVGで「312文字」です。(拡大表示の設定をしたSVGの実物です)

 

 

右はSVGの文字数が増えて、曲線の描画が精密になった様ですが、「32ピクセル」の描画が決して劣るとは感じません。 この程度の文字数に抑えられれば、CSSコードを駆使した描画に迫りますから、GOODです。

 

ちなみに、下の「LinkCard Editor ver.4.0」のSVGは371文字です。

 

 

「LinkCard Editor」に実装してテストしたのですが、どっちにしても表示サイズが小さく、良さも悪さもいまひとつ判りません。^^;

 

 

まあ、納得いくデザインが出来らた、マークを更新しようと考えています。