Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在给定最小宽度时获取图像的新图像尺寸&;最小高度_C#_Asp.net_Image_Css - Fatal编程技术网

C# 在给定最小宽度时获取图像的新图像尺寸&;最小高度

C# 在给定最小宽度时获取图像的新图像尺寸&;最小高度,c#,asp.net,image,css,C#,Asp.net,Image,Css,我正在寻找一个函数,它将接受一个图像对象,一个最小宽度和一个最小高度。它将返回一个大小对象(或任何其他具有宽度和高度属性的对象)和图像的新尺寸 例如,如果我传递的图像原始尺寸为: 1024x768(宽x高) 使用以下命令将其转换为此函数: 最小宽度:256,最小高度:206 函数将返回一个大小对象: 新宽度:274,新高度:206 这允许图像填充空间,同时保留图像的纵横比 谢谢任何人能给予的帮助 干杯 克里斯 很简单。你为什么不能自己做呢?oO您是否尝试过编写这样的函数?你有什么问题吗?我不知道

我正在寻找一个函数,它将接受一个图像对象,一个最小宽度和一个最小高度。它将返回一个大小对象(或任何其他具有宽度和高度属性的对象)和图像的新尺寸

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

1024x768(宽x高)

使用以下命令将其转换为此函数:

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

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

新宽度:274,新高度:206

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

谢谢任何人能给予的帮助

干杯

克里斯


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

您是否尝试过编写这样的函数?你有什么问题吗?我不知道你们是怎么做到的,但再看一遍我就明白了,就像你说的,我讨厌最简单的事情花费最长的时间。谢谢。谢谢你,这真的很容易。我只是走了一条完全错误的道路,但是再看看。我知道了,谢谢你。我仍会将此标记为答案,谢谢!最后一行应该是
返回新的大小(minwidth,(int)Math.Round(orighight/scale1))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));
}