php+获取svg尺寸,PHP-如何从旋转/缩放获取SVG变换矩阵值

本质上,我正在寻找一个PHP函数或方程式,该函数或方程式将输出SVG转换中使用的Matrix值.

我高低寻觅,可惜什么也没发现.

我很清楚Rotate()和scale函数(),但是这些并不是我所需要的.

我需要能够以度为单位旋转角度以及x / y比例数据,并以SVG转换格式矩阵(a,b,c,d,e,f)输出一系列值

理想情况下,我想在PHP中执行此操作,但是如上所述,标准数学方程式也将有所帮助.

希望有人可以指出正确的方向.

解决方法:

您可以通过将单个转换的矩阵相乘来计算值.看一下SVG specification来找到它们的定义:

rot(a) := matrix(cos(a), sin(a), -sin(a), cos(a), 0, 0)

scale(sx,sy) := matrix(sx, 0, 0, sy, 0, 0)

根据应应用转换的顺序(缩放之前的旋转与旋转之前的缩放),您将获得不同的矩阵:

rot(a)*scale(sx,sy) = matrix(sx*cos(a), sx*sin(a), -sy*sin(a), sy*cos(a), 0, 0)

scale(sx,sy)*rot(a) = matrix(sx*cos(a), sy*sin(a), -sx*sin(a), sy*cos(a), 0, 0)

标签:matrix,svg,php

来源: https://codeday.me/bug/20191201/2080457.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值