在SVG编程中,添加ViewBox属性后,如果Width/V3与Height/V4两个系数不相等时,SVG图形怎样显示?

我试了一下SVG图形显示将以Width/V3与Height/V4两个系数最小的那一个作为图形的放缩比例,配合结合平移操作进行显示。不过我就不知道平移距离是通过怎样的一个公... 我试了一下 SVG图形显示将以Width/V3与Height/V4两个系数最小的那一个作为图形的放缩比例,配合结合平移操作进行显示。不过我就不知道平移距离是通过怎样的一个公式计算出来的? 展开
 我来答
环球行者
2013-05-28 · TA获得超过136个赞
知道答主
回答量:67
采纳率:0%
帮助的人:19.8万
展开全部
用以下例子解释:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="1.1"
width="500"
height="500"
viewBox="0 100 500 100"
>

<rect x="0" y="100" width="200" height="100" fill="yellow" stroke="blue" />

</svg>

开始解释:
加上viewBox后对比发现,矩形大小没变,但是移动到中间了(垂直居中)。
这是因为,矩形的坐标参数(rect x="0" y="100" width="200" height="100")
参照的是viewBox的坐标。参照这个坐标画出矩形后,截取这个坐标系中
(0 100 500 100)这块区域,即从点(0,100)开始宽500高100的一块区域(我们称这块区域为A吧),也就是,正好完整的截取了所画的那块矩形,不多不少。然后,我们把A这块区域与svg那块区域(<svg x="0" y="0" width="500" height="500">),即500X500的区域(我们称之为B区域吧),按区域中心重叠,然后,按比例的拉伸或压缩A的大小,使它恰好包括在B中。

做完这一步后,结果所展示的,就是代码的效果。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-05-28
展开全部
这是技术研发问题,不方便透露!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式