В моем проекте я хочу сгенерировать миниатюру из изображений, которые были загружены пользователем, и показать ее в галерее (отображается в блоке div с размером: 180 x 250).Ниже приведен код, который я использую для этого.
Size thumbnailSize = GetThumbnailSize(img);
System.Drawing.Image thumbnail = img.GetThumbnailImage(thumbnailSize.Width, thumbnailSize.Height, null, IntPtr.Zero);
.....
private Size GetThumbnailSize(System.Drawing.Image original)
{
const int maxPixels = 300;
int originalWidth = original.Width;
int originalHeight = original.Height;
double factor;
if (originalWidth > originalHeight)
{
factor = (double)maxPixels / originalWidth;
}
else
{
factor = (double)maxPixels / originalHeight;
}
return new Size((int)(originalWidth * factor), (int)(originalHeight * factor));
}
Моя проблема в том, что созданный эскиз подходит только для изображений такого большого размера, когда пользователь загружает изображение меньшего размера (например, 30 x 30), созданный эскиз будет увеличиваться, а не увеличиваться.ясно показано, как показано ниже.Так что же делать, чтобы генерировать миниатюры, которые находятся в соотношении и могут правильно отображаться в моем блоке div галереи, независимо от того, является ли изображение большим или маленьким?
![Example of thumbnail generated](https://i.stack.imgur.com/sF97X.png)