数学算法,用于从变量值缩放到百分比

时间:2014-04-24 17:36:56

标签: javascript math

是的,你必须坚持我,因为我现在很困惑。

当我将它添加到rapheal纸张元素时,我正在尝试计算svg的比例。

以下是需要发生的事情:

我的所有SVG都是可变宽度。 当我将它们添加到我的纸质对象时,我希望它们的宽度为600px。无论原始宽度是2000px还是10px,我都需要计算原始宽度的比例,该比例始终为600px。

到目前为止我所拥有的是......

    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);

我希望这对某人有意义!我是一个变身程序员的设计师(你可能会说)

谢谢!

2 个答案:

答案 0 :(得分:1)

如果您将600除以元素的宽度,它会告诉您需要将它缩放到600以上。我确定您对编码部分足够聪明:)

示例:

  • 元素的宽度为100px,因此需要它才能使其大6倍。 600/100是6。
  • 元素的宽度为1800px,因此您需要将其缩小3倍。 600/1800是1/3,所以你也很好。

答案 1 :(得分:0)

试试这个:

var maxWidth = 600;
var vWidth = vector.getBBox().width;
var xscale=600/vWidth;

vector.scale(xscale, 1);