2020/05/26(火) [n年前の日記]
#3 [svg] svgのviewBox値が違うとパスの座標値も違ってくるのかを確認
Inkscape上で viewBox の値が違うドキュメントを作ると、パスの座標値も違ってくるのかが気になったので試したり。
とりあえず、Inkscape 上でキャンバスサイズを 1280x720 px にして、1280x720 px の青い四角をパスで作ってみたり。それをプレーンsvgとして保存。
_scale026458_1280x720px.svg (拡大縮小値が 0.26458)
_scale1_1280x720px.svg (拡大縮小値が 1.0)
関係ありそうなところを抜き出すと…。
パスの座標値(この場合は幅や高さ)が違ってるな…。線の太さ(stroke-width)も違ってる。
仮に、width, height と viewBox の値を一致させるようなスクリプトの類を書こうとするなら、各パスの座標値や線の太さも変更するような処理をしないとダメ、ということなのだろうなと。面倒臭いな…。
とりあえず、Inkscape 上でキャンバスサイズを 1280x720 px にして、1280x720 px の青い四角をパスで作ってみたり。それをプレーンsvgとして保存。
_scale026458_1280x720px.svg (拡大縮小値が 0.26458)
_scale1_1280x720px.svg (拡大縮小値が 1.0)
- Webブラウザで開くと、どちらも同じ大きさで表示される。
- Synfig Studio や enve でインポートすると大きさが変わってしまう。
関係ありそうなところを抜き出すと…。
viewBox="0 0 338.6624 190.4976" height="720" width="1280"
viewBox="0 0 1280 720" height="720" width="1280"
<g style="stroke-width:1.05832;stroke-miterlimit:4;stroke-dasharray:none" id="layer1"> <path style="fill:#2196f3;stroke:#000000;stroke-width:1.05832;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" d="M 0,0 H 338.6624 V 190.4976 H 0 Z" id="path835" /> </g>
<g style="stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none" id="layer1"> <path style="fill:#2196f3;stroke:#000000;stroke-width:4;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" d="M 0,0 H 1280 V 720 H 0 Z" id="path1416" /> </g>
パスの座標値(この場合は幅や高さ)が違ってるな…。線の太さ(stroke-width)も違ってる。
仮に、width, height と viewBox の値を一致させるようなスクリプトの類を書こうとするなら、各パスの座標値や線の太さも変更するような処理をしないとダメ、ということなのだろうなと。面倒臭いな…。
[ ツッコむ ]
以上です。