首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SVG坐标到VML坐标

SVG坐标到VML坐标
EN

Stack Overflow用户
提问于 2010-05-11 22:23:09
回答 2查看 2.5K关注 0票数 2

我有svg文件

代码语言:javascript
复制
<svg 
    xmlns="http://www.w3.org/2000/svg" 
    xml:space="preserve" width="200px" 
    height=""
    style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"
    viewBox="0 0 69.1341 93.4405"
    xmlns:xlink="http://www.w3.org/1999/xlink">
...
<path class="fil3 str0" d="M49.1257 35.5851c3.029,0.890254 7.2612,0.610968 12.3164,-0.468419 -5.13373,3.85796 -12.1161,4.96333 -19.7673,5.07307"/>
... 
</svg>

我正在尝试手动将其转换为vml,我得到的结果是

代码语言:javascript
复制
<body>
...
<v:group style="position: absolute;
                left: 0pt;
                top: 0pt; 
                width: 200px;
                height: 200px;
                z-index: -56;"
                coordsize="100000 100000"
                coordorigin="0 0" id="Слой_x0020_1">

<v:shape path="m 491257,355851 nf v 30290,8903 72612,6110 123164,-4684 -51337,38580 -121161,49633 -197673,50731 e" 
   strokeweight="0.126615" 
   fill="false" 
   style="width: 200px; 
   height: 200px;" 
   coordorigin="-100000 -100000" 
   class="fil3 str0"></v:shape>
...
</body>

问题:我得到的图像比例错误

问题:如何正确地将svg尺寸/坐标转换为vml尺寸/坐标

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-12 15:36:07

好的,很简单

我们有

代码语言:javascript
复制
<svg 
    xmlns="http://www.w3.org/2000/svg" 
    xml:space="preserve" width="200px" 
    height=""
    style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"
    viewBox="0 0 69.1341 93.4405"
    xmlns:xlink="http://www.w3.org/1999/xlink">
...
<path class="fil3 str0" d="M49.1257 35.5851c3.029,0.890254 7.2612,0.610968 12.3164,-0.468419 -5.13373,3.85796 -12.1161,4.96333 -19.7673,5.07307"/>
... 
</svg>

69.1341/200=0.3456705

舍入(0.3456705*10000)=3456

它是每像素3456个“一些单位”

在vml中它等于"width:1px;height:1px“和coordsize="3456 3456”

结果

代码语言:javascript
复制
<body>
...
<v:group style="position: absolute;
                left: 0pt;
                top: 0pt; 
                width: 1px;
                height: 1px;
                z-index: -56;"
                coordsize="1 1"
                coordorigin="0 0" id="Слой_x0020_1">

<v:shape path="m 491257,355851 nf v 30290,8903 72612,6110 123164,-4684 -51337,38580 -121161,49633 -197673,50731 e" 
   strokeweight="0.126615" 
   fill="false" 
   style="width: 1px; height: 1px;" 
   coordorigin="-100000 -100000" 
   coordsize="3456 3456"
   class="fil3 str0"></v:shape>
...
</body>
票数 3
EN

Stack Overflow用户

发布于 2011-06-27 21:26:07

这是一个轻量级的库,可以将SVG路径转换为VML路径SVG to VML conversion with Core Framework

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2811492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档