gpt4 book ai didi

c# 为较小的图像生成缩略图

转载 作者:太空宇宙 更新时间:2023-11-03 12:14:33 25 4
gpt4 key购买 nike

在我的项目中,我想从用户上传的图像生成缩略图并将其显示在图库中(显示在大小为:180 x 250 的 div 框中)。以下是我用来执行此操作的代码。

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

最佳答案

我建议检查图像是否小于您想要的尺寸。如果不是像你已经做的那样对待它。如果它较小,则将图像数据复制到具有您想要的大小的空白图像的中心,并将其显示为缩略图。

关于c# 为较小的图像生成缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50412060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com