javascript - 使用javascript,如何编写一个函数,根据矩形的宽度按比例增加/减少矩形的大小

标签 javascript

我想按比例增加矩形的大小。

每次增加 x 轴时,y 轴都应按比例增加。

考虑一个尺寸为 x = 500、y = 200 的矩形

我想将 x 轴增加到 800。

我应该如何计算出新的 y 轴应该是什么以保持比例正确?

此外,我想减小 x 轴并按比例减小 y 轴。

最佳答案

function Rectangle(x, y) {
    this.x = x;
    this.y = y;
}

Rectangle.prototype.scale = function (arg) {
    if (arg.x) {
        return new Rectangle(arg.x, this.y * arg.x / this.x);
    } else {
        return new Rectangle(this.x * arg.y / this.y, arg.y);
    }
};

new Rectangle(500, 200).scale({ x: 800 })
// Rectangle {x: 800, y: 320}

关于javascript - 使用javascript,如何编写一个函数,根据矩形的宽度按比例增加/减少矩形的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21723050/

相关文章:

javascript - 邮政编码和城市列表,excel 方舟还是数据库?

javascript - 递归异步 api 调用

javascript - 如何在 JavaScript 中循环遍历数组

javascript - 循环 : 10, 000 个数组(浪费时间)与 1 个全局数组(浪费内存)

javascript - react 原生 redux 状态更新但不在组件中渲染

javascript - Firefox 中的 typescript anchor 标记单击事件不起作用

javascript - 如何在加载头部之后但在 DOM 之前立即运行脚本?

javascript - 如何使用 JavaScript 更改 <textarea> 的内容

javascript - 如何在 Chrome 扩展中从本地存储读取和写入 div 的内容?

javascript - 在函数内部修改变量后,为什么变量未更改? -异步代码引用