【发布时间】:2018-04-30 06:54:15
【问题描述】:
我正在尝试分析从 coreldraw 导出的 SVG 文件中的数据。
它实际上是一个具有常规黑色 40x40 矩形的文件,以及相同的 40x40 矩形旋转 10 度并以红色着色。
如果我查看 SVG 内容,我可以很好地看到我的 40x40 黑色矩形,它下面的线是红色旋转的。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<!-- Creator: CorelDRAW Home & Student X7 -->
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="100px" height="100px" version="1.0" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"
viewBox="0 0 100 100"
xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<style type="text/css">
<![CDATA[
.str0 {stroke:black;stroke-width:0.2;stroke-linecap:round;stroke-linejoin:round}
.str1 {stroke:red;stroke-width:0.2;stroke-linecap:round;stroke-linejoin:round}
.fil0 {fill:none}
]]>
</style>
</defs>
<g id="Layer_x0020_1">
<metadata id="CorelCorpID_0Corel-Layer"/>
<rect class="fil0 str0" x="15" y="19" width="40" height="40"/>
<rect class="fil0 str1" transform="matrix(0.881289 -0.155395 0.169522 0.961407 11.5017 22.5159)" width="44.6985" height="40.9736"/>
</g>
</svg>
但是.....
红色旋转的没有指定 X 或 Y 参数。我阅读了一些文档并认为这意味着它们默认为 0
黑色的原始矩形和红色的旋转版本的大小完全相同,但红色的矩形旋转了10度。
如果我查看红色矩形的宽度和高度,我会看到 44.6985 的宽度和 40.9736 的高度,这对我来说毫无意义。
它是一个矩形,所以它的高度和宽度应该完全一样。即使你旋转它。我也知道矩形将使用更多旋转 10 度的水平和垂直像素,但即使那样它也应该是相同的数字。
这让我觉得这些值以某种非统一的方式缩放,但我无法想象我应该如何根据这些信息计算正确的宽度和高度。
【问题讨论】:
标签: svg