При сжатии изображений существует тонкая грань между созданием небольшого файла и созданием изображения низкого качества. JPEG - это формат сжатия с потерями, который означает, что данные удаляются при сжатии, поэтому постоянное перекодирование файла JPEG будет постоянно ухудшать его качество.
С другой стороны, файлы PNG без потерь, но все же могут привести к большим файлам. Вы можете попробовать кодировать файл в формате PNG, используя PngBitmapEncoder . Это обеспечит высокое качество, но размер может уменьшиться или не уменьшиться для вашей программы (зависит от изображения).
Если вы выполняете это на локальном компьютере и вам не нужно делать это слишком часто (например, для многих одновременно работающих пользователей), вы можете вызвать внешнюю программу, чтобы сделать это для вас. PNG Monster очень хорошо сжимает файлы PNG без снижения качества. Вы можете вызвать это из вашей программы и отправить полученный файл PNG. (Вы можете проверить условия лицензирования, чтобы убедиться, что они совместимы с вашей программой).
Существует не так много способов, с помощью которых вы можете поддерживать высокое качество и одновременно выполнять высокое сжатие, не манипулируя изображением (например, изменяя размер).