【问题标题】:Scaling images to an area将图像缩放到一个区域
【发布时间】:2012-01-25 18:34:22
【问题描述】:

我正在尝试缩放一堆图像,使它们具有相同的区域,但保持它们的纵横比,但我找不到这样做的公式。

有人知道公式吗?

【问题讨论】:

    标签: math scaling image-scaling


    【解决方案1】:

    对于给定的区域 A,

    newx * newy = A
    newx / newy = oldx / oldy
    

    给你:

    newy = A / newx
    newy = newx / (oldx / oldy)
    
    A / newx = newx / (oldx / oldy)
    A * oldx / oldy = newx ^ 2
    

    然后解决:

    newx = sqrt(A * oldx / oldy)
    newy = A / newx
    

    再说一遍,这是一道数学题,不是编程题……

    【讨论】:

    • 那有什么问题?唯一会改变的是Math.sqrt。这仍然是一道数学题。
    【解决方案2】:

    假设您有两个尺寸为 (w1, h1) 和 (w2, h2) 的图像,并且您希望在保持纵横比的同时将第二个图像缩放到与第一个图像相同的区域,然后

    A = w1 * h1
    new_w2 = sqrt(A * (w2 / h2))
    new_h2 = A / new_w2
    

    【讨论】:

    • 我觉得应该是 new_w2 = sqrt(A * (w2 / h2))
    猜你喜欢
    • 1970-01-01
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    • 2012-04-30
    • 1970-01-01
    • 2019-09-25
    • 2012-08-02
    • 2020-06-28
    相关资源
    最近更新 更多