Почему ImageResizer всегда изменяет размер моего изображения до ширины 900? - PullRequest
2 голосов
/ 03 апреля 2012

Я использую ImageResizer, я обнуляю пакеты core и webconfig и не меняю никаких настроек, и у меня просто есть эта строка кода,

ImageBuilder.Current.Build(file, name, new ResizeSettings("maxwidth=1024&maxheight=1024"), false, true);

Но сохраненное изображение всегда имеет ширину до 900или высота вместо 1024 я спрашивал в коде, почему так?Мое исходное изображение - 1600x1200, как мне изменить его размер до 1024x770?

Спасибо!

[Редактировать ComputerLinguist]

OP использует библиотеку javascript uEditor для выполнения изображениядобавления.

Ответы [ 2 ]

4 голосов
/ 05 апреля 2012

Оказывается, исходное изображение было изменено на клиенте перед отправкой на сервер библиотекой javascript uEditor.

ОП правильно использовал библиотеку ImageResizer , и библиотека велась правильно, но получало изображение, которое уже шириной 900 пикселей .

Наиболее распространенная общая причина того, что измененное изображение меньше желаемого, - это когда исходное изображение уже меньше запрошенных размеров, и в этом случае ImageResizer будет , а не выполнять апскейлинг.Если вы хотите увеличить масштаб, добавьте & scale = оба или & scale = upscalecanvas .

1 голос
/ 03 апреля 2012

Согласно документации , соотношение сторон поддерживается двумя максимальными параметрами.После того, как 1600 уменьшится до 1024, другой аспект всегда будет намного меньше 1024. Если вы хотите увеличить его, установите максимальный размер только для наименьшего измерения.

MaxWidth [get, set] [«maxwidth»]: устанавливает максимальную желаемую ширину изображения.(минус отступы, границы, поля, эффекты и вращение).Изображение может быть меньше этого значения, чтобы сохранить соотношение сторон, когда указаны максимальная ширина и максимальная высота.

...