给定最小宽度和最小高度时获取图像的新图像尺寸

Posted

技术标签:

【中文标题】给定最小宽度和最小高度时获取图像的新图像尺寸【英文标题】:Get new image dimensions for an image when given min-width & min-height 【发布时间】:2011-12-12 18:35:22 【问题描述】:

我正在寻找一个函数,该函数将接收一个 Image 对象、一个最小宽度和一个最小高度,它将返回一个 size 对象(或任何其他具有 width 和 height 属性的对象),该对象的新尺寸为图片。

例如,如果我传递的图像的原始尺寸为:

1024x768(宽 x 高)

进入这个函数:

最小宽度:256,最小高度:206

该函数将返回一个大小对象:

新宽度:274,新高度:206

这允许图像填充空间,同时保持图像的纵横比。

感谢任何人提供的任何帮助。

干杯,

克里斯

【问题讨论】:

你试过写这样的函数吗?你有什么问题? 我不知道你们是怎么做到的,但再看一遍我就明白了,就像你说的那样简单的疙瘩,我讨厌最简单的事情可能需要最长的时间。谢谢。 【参考方案1】:
Size GetMinimalDimensions(int origwidth, int origheight, int minwidth, int minheight)

    double scale1, scale2;
    scale1 = (double)origwidth / minwidth;
    scale2 = (double)origheight / minheight;
    if (scale1 > scale2) 
        return new Size((int)Math.Round(origwidth / scale2), minheight);
    
    return new Size(minwidth, (int)Math.Round(origheight / scale1));

很简单。为什么你不能自己做? oO

【讨论】:

谢谢你,这真的很容易,我只是走错了路,但又看了一遍。我想通了,谢谢。我仍然会将此标记为答案,谢谢! 最后一行应该是return new Size(minwidth, (int)Math.Round(origheight / scale1)); 真的,我的错。固定,ty

以上是关于给定最小宽度和最小高度时获取图像的新图像尺寸的主要内容,如果未能解决你的问题,请参考以下文章

php 根据当前注册的图像尺寸(Wordpress),根据最小高度自动限制最小上传尺寸

设置 JavaScript 弹出窗口的最小尺寸

通过方向更改获取屏幕宽度/高度的正确方法是啥?

如何从你的 href 中获取原始尺寸的图像(高度和宽度)并将它们放在你的 attr 上。使用 jQuery

保持最小/最大高度/宽度的纵横比?

当我压缩从图库中获取的图像大小时,高度和宽度也会被压缩