Уменьшите изображение до заданного размера при загрузке в C#
У меня есть веб-приложение.Я хочу реализовать следующую функциональность, надеюсь, вы, ребята, поможете мне:
При загрузке файла изображения я хочу сделать Автоматически уменьшите размер фотографии до точных 2 МБ, если фотография имеет размер > 2 МБ Компромиссы с качеством изображения, высотой и шириной.
Как реализовать это ребята в c#, надеюсь, вы подробно разберетесь с образцом кода
заранее спасибо...
Что я уже пробовал:
я пробовал много, но не уменьшил до точных 2 Мб, уменьшил до непредсказуемого размера < 2 Мб
LLLLGGGG
я попробовал много, но не уменьшил до точных 2 мб, а также изменил ширину, высоту
Это потому, что это невозможно: вы не можете уменьшить размер файла и сохранить ширину, высоту и качество одинаковыми! Ты можешь:
1. Уменьшите ширину / высоту
2. измените алгоритм сжатия с потерями (не обязательно подразумевает потерю качества, но это означает, что вам нужно загрузить фотографию, даже если она > 2 МБ, и сохранить ее снова в новом типе изображения) или увеличьте объем сжатия, который использует алгоритм (уменьшается качество, и вам все равно нужно загрузить фотографию, даже если она >2 МБ)
3. Используйте сжатие без потерь после загрузки (например, алгоритм GZip).