#c# #asp.net #image #css
#c# #asp.net #изображение #css
Вопрос:
Я ищу функцию, которая будет принимать объект изображения, минимальную ширину и минимальную высоту. он вернет объект size (или любой другой объект со свойством width и height) с новыми размерами изображения.
Например, если я передал изображение, имеющее исходные размеры:
1024×768 (ширина x высота)
в эту функцию с:
минимальная ширина: 256, минимальная высота: 206
Функция вернет объект размера:
новая ширина: 274, новая высота: 206
Это позволяет изображению заполнить пробел, сохраняя соотношение сторон изображения.
Спасибо за любую помощь, которую кто-либо может оказать.
Приветствия,
Крис
Комментарии:
1. Вы пробовали писать такую функцию? Какие у вас проблемы?
2. Я не знаю, как вы, ребята, это сделали, но, посмотрев на это еще раз, я понял, простой прыщ, как вы сказали, я ненавижу, когда самые простые вещи могут занять больше времени. Спасибо.
Ответ №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
Комментарии:
1. Спасибо за это, это было действительно легко, я просто шел по совершенно неправильному пути, но снова посмотрел на него. Я понял это, спасибо за это. Я все равно отмечу это как ответ, спасибо за это!
2. последняя строка должна быть
return new Size(minwidth, (int)Math.Round(origheight / scale1));
3. верно, моя ошибка. Исправлено, ty