Масштабирование System.Drawing.Bitmap до заданного размера с сохранением соотношения сторон

Я хочу масштабироватьSystem.Drawing.Bitmap по меньшей мере, до некоторой фиксированной ширины и высоты. Это делается для создания миниатюр для галереи изображений на веб-сайте, поэтому я хочу сохранить соотношение сторон таким же.

У меня есть несколько решений, но, похоже, ни одно из них не делает то, что мне нужно; они вращаются вокруг масштабирования, основанного на сохранении ширины или высоты, но не меняя оба.

Пример:

Если у меня есть изображение 4272 на 2848, и я хочу масштабировать его до размера 1024 на 768, то полученное изображение должно быть 1024 на 683 и дополнено (с черной рамкой) до 1024 на 768.

Как я могу сделать это с изображениями, размер которых превышает требуемый размер и меньше, чем требуемый размер, а также с изображениями подложки, которые не достигают точного размера, который мне нужен после масштабирования?

Ответы на вопрос(3)

Ваш ответ на вопрос