Skalowanie mapy System.Drawing.Bitmap do określonego rozmiaru przy zachowaniu proporcji

Chcę skalowaćSystem.Drawing.Bitmap co najmniej mniej niż pewna ustalona szerokość i wysokość. Ma to na celu wygenerowanie miniaturek galerii zdjęć na stronie internetowej, więc chcę zachować ten sam współczynnik proporcji.

Mam kilka rozwiązań, ale wydaje się, że nic nie robi tego, czego potrzebuję; obracają się wokół skalowania w oparciu o zachowanie szerokości lub wysokości takich samych, ale nie zmieniających obu.

Przykład:

Jeśli mam obraz 4272 na 2848 i chcę go przeskalować do rozmiaru 1024 na 768, to wynikowy obraz powinien być 1024 na 683 i wypełniony (czarną ramką) na 1024 na 768.

Jak mogę to zrobić z obrazami większymi niż wymagany rozmiar i mniejszymi od wymaganego rozmiaru, a także obrazami z podkładkami, które nie wychodzą dokładnie do rozmiaru, którego potrzebuję po przeskalowaniu?

questionAnswers(3)

yourAnswerToTheQuestion