C# 图像调整大小

5

我在我的asp.net 4 web forms项目中开发了一个图片上传/调整大小的功能。有没有人知道C#中缩放上传图像的技术,可以帮助处理小于所需最小尺寸的图像?

显然,如果向上调整大小,则质量会受到怀疑,因此是否有可能创建一个新的图像,大小恰好适合,可能是纯白色的,然后将原始图像放在该白色背景上?

谢谢

编辑 - 现在ImageResizer.net运行良好,但是当图像较小时,需要进行调整大小。请参见下面IrishChieftains答案的评论以获取完整细节:

最终编辑 ################

好吧,我发誓昨晚我试过这个,并且它不起作用,所以也许只需要清除浏览器或VS2010重新启动,但对于任何感兴趣的人,这就是我的最终解决方案。关键是scale=upscalecanvas

int maxWidth = 400;
int maxHeight = 200;

ImageBuilder.Current.Build(saveLocation, saveLocation, new ResizeSettings("width=" + maxWidth + "&height=" + maxHeight + "&mode=pad&bgcolor=DDDDDD&anchor=middlecenter&scale=upscalecanvas"));

无法高度评价ImageResizer.net - 太棒了。

如果可能的話,請將以下與程式設計相關的內容從英文翻譯成中文。僅返回翻譯後的文本:如果可以的話,請將最終編輯的內容複製到答案中,以便未來讀者標記。 - Lilith River
1个回答

4

1
啊,那看起来就像是我需要的东西。我会试一试并回报结果。谢谢。 - e-on
我注意到质量也得以保留,这让我相信这在e-on的情况下会起作用。 - IrishChieftain
好的,这非常好 - 它基本上解决了我的问题,除了一件事:我已经编辑了我的问题,并附上了代码,但如果图像的正确尺寸为400 X 200,而有人上传了一个50 X 75的图像,我希望它以原始大小居中放置在400 X 200画布上,但是在灰色背景上 - 可以做到吗?当尺寸较低时,似乎会导致问题,要么将其缩放得非常大,要么完全忽略它。 - e-on
我相信一定有办法:http://imageresizing.net/docs ... 此外还有许多专门的插件可用。您也可以尝试使用CSS设置更大的背景来适应这种情况? - IrishChieftain
是的,我已经尝试了文档中的许多选项,但似乎无法解决这个最后的问题。不过这是一个很棒的程序,谢谢。 - e-on
使用 &scale=canvas 在放大时将其居中于画布上。 - Lilith River

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接