javascript - 如何将 x,y 坐标转换为 Angular ?

标签 javascript css svg gradient trigonometry

Microsoft 提供了出色的 SVG gradient maker所以 IE9 也可以有“CSS3”渐变(点击自定义)。

我目前将他们的逻辑用于我的 FireworksDreamweaver将渐变转换为 SVG 的扩展,但我只知道如何针对标准的顶部、底部、左侧、右侧方向执行此操作。如果您输入 Angular ,我不会进行转换,因为我不确定如何将 x1、x2、y1、y2 转换为 CSS3 Angular 。

梯度生成器提供这样的值:x1="0%"y1="0%"x2="56.262833675564686%"y2="68.29999651227678%"

我不太擅长数学或三 Angular 函数,有人可以帮我吗?如果可能的话,我还想在 Sass mixin 中使用相同的数学来做类似的事情。

最佳答案

如果您从坐标中得到 deltaXdeltaY 那么 Math.atan2返回其参数的商的反正切。返回值以弧度为单位。

var deltaX = x2 - x1;
var deltaY = y2 - y1;
var rad = Math.atan2(deltaY, deltaX); // In radians

然后您可以像这样简单地将它转换为度数:

var deg = rad * (180 / Math.PI)

enter image description here

编辑

我最初的回答有一些错误。我相信更新后的答案会解决所有错误。如果您认为这里有问题,请在这里评论。

关于javascript - 如何将 x,y 坐标转换为 Angular ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15994194/

相关文章:

javascript - 类型的 Ajv 自定义错误消息

javascript - 将数组传递到 HTML 表或变量中

css - 相对元素中的绝对定位元素导致 Chrome/Safari 溢出

asp.net - CSS 打印 - 分页前导致表头不重复(Internet Explorer 8)

c++ - 文本中间的 Css 使 "\n"不起作用

javascript - 更改 SVG 颜色

javascript - 无法处理引导弹出窗口内容中的事件

javascript - Google Chrome 中的 CSS3 径向渐变渲染

html - 响应式 SVG 问题

java - 如何为 android 创建 vector 可绘制对象?