ASP.NET图像调整大小和裁剪

6
我正在寻找优秀的ASP.NET图片重新调整大小、裁剪等工具。 如果有人知道,请分享。提前感谢你。

2
你已经有了GDI+,为什么还需要其他东西呢? - Blindy
1
因为第三方API比GDI更出色。它们具有嵌入式裁剪算法等功能,可以给您提供您期望的精确图像! - Muhammad Adnan
裁剪有什么难的?只需创建一个“位图”,并使用“DrawImage”复制原始图像的一部分即可。GDI+到底缺少什么? - Blindy
1
这些陷阱是为什么使用库比编写自己的更安全的原因。 - Lilith River
3个回答

8

亲爱的专家们!!! 昨天我发现了http://www.imageresizing.net/,它非常棒,并且具有良好的API。效果很好。 从Visual studio 2010扩展管理器中下载:http://nuget.org/

在VS-2010中下载API的简单步骤:

1). 安装扩展 http://nuget.org/

enter image description here

3). 查找并安装ImageResizing
enter image description here

4). 然后编写代码:(此处我正在使用裁剪,您可以使用任何)有关imageresizing.net的文档

string uploadFolder = Server.MapPath(Request.ApplicationPath + "images/");
FileUpload1.SaveAs(uploadFolder + FileUpload1.FileName);


//The resizing settings can specify any of 30 commands.. See http://imageresizing.net for details.
ResizeSettings resizeCropSettings = new ResizeSettings("width=200&height=200&format=jpg&crop=auto");

//Generate a filename (GUIDs are safest).
string fileName = Path.Combine(uploadFolder, System.Guid.NewGuid().ToString());

//Let the image builder add the correct extension based on the output file type (which may differ).
fileName = ImageBuilder.Current.Build(uploadFolder + FileUpload1.FileName, fileName, resizeCropSettings, false, true);

试试吧!它非常棒且易于使用。谢谢。


嗨,穆罕默德。如果我有一个托管的网站(即GoDaddy等),我能使用这个工具吗?也就是说,我无法走到主服务器并安装此组件,因为我不拥有该服务器。 - user153923
1
@jp2code,你好,是的,你可以在像GoDaddy这样的网站上使用它,这意味着你不能走到主服务器上安装组件,比如我使用的旧版本的ASPJPEG。在共享主机上,它对我来说运行得很好。 - Muhammad Adnan

0
这应该可以为您提供所需的调整大小功能:C#教程-图像编辑:保存、裁剪和调整大小。至于压缩,那将取决于您选择的图像格式,例如PNG、JPG、GIF等。要控制它,请查看此处的示例代码here。一旦保存到压缩格式,任何进一步的压缩都是(通常)浪费时间。

0

1
我不同意。有超过29个陷阱,没有人能够避免所有的陷阱。你链接的博客使用了一个质量较差的重采样算法,并会导致整个图像周围出现边框伪影,此外还会错误地进行裁剪计算。我仍在等待一篇关于调整大小的文章,它可以做到完美无缺。至少你链接的文章似乎没有像大多数示例那样泄漏内存。当这么难以正确地完成(看起来)简单的事情时,使用库是个好主意 - Lilith River

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