Javascript 从变量值缩放到百分比的数学算法
好的,你必须坚持我的观点,因为我现在把自己弄糊涂了 当我将svg添加到一个rapheal paper元素时,我试图计算出svg的比例 以下是需要发生的事情: 我所有的SVG都是可变宽度的。 当我将它们添加到纸对象时,我希望它们的宽度为600px。我需要计算原始宽度的比例,无论原始宽度是2000px还是10px,它总是以600px计算 到目前为止我所拥有的是Javascript 从变量值缩放到百分比的数学算法,javascript,math,Javascript,Math,好的,你必须坚持我的观点,因为我现在把自己弄糊涂了 当我将svg添加到一个rapheal paper元素时,我试图计算出svg的比例 以下是需要发生的事情: 我所有的SVG都是可变宽度的。 当我将它们添加到纸对象时,我希望它们的宽度为600px。我需要计算原始宽度的比例,无论原始宽度是2000px还是10px,它总是以600px计算 到目前为止我所拥有的是 var maxWidth = 600; var vWidth = vector.getBBox().width //this
var maxWidth = 600;
var vWidth = vector.getBBox().width //this could be anything;
//Instert algorithym to work out the scale ratio
//I am not smart enough to work this part out. Please help...
//Currently this scale s set to what the original width is, but I want it to always be 600
vector.scale(1, 1);
我希望这对某人有意义!我是一名设计师,后来成为了程序员(你可能知道)
谢谢 试试这个:
var maxWidth = 600;
var vWidth = vector.getBBox().width;
var xscale=600/vWidth;
vector.scale(xscale, 1);
如果将600除以元素的宽度,它将告诉您需要将其缩放多少才能得到600。我相信你在编码方面足够聪明:) 示例:
- 元素的宽度为100px,所以您需要它使其变大6倍。600/100等于6
- 元素的宽度为1800px,因此需要将其缩小3倍。600/1800是1/3,所以你也很好
w*c=600=>c=600/w
,其中c
你的标量和w
你的宽度你的问题有点混乱,在标题中你想要百分比,然后在代码中你想要比率,你到底想要哪一个?是的,现在一切都有意义了!!!你知道当你想得太多的时候是什么样子的。几天后我会用我的应用发回:)再次感谢。工作得很好!当然可以考虑到这个问题和其他问题,如果你认为你的问题解决了。嗨,ZNEAK,我只是想发布一个链接到你帮助我的网站。我在“创建贴花”部分使用了repheal再次感谢您的帮助