使用ImageSharp.AspNetCore包可以方便地处理图像操作。在NuGet包管理器控制台中运行以下命令来安装该包:
Install-Package SixLabors.ImageSharp.Web
在Configure方法中添加以下代码,以启用ImageSharp.AspNetCore的支持:
app.UseImageSharp();
在控制器中添加以下代码来处理图像:
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Processing;
using SixLabors.ImageSharp.Web;
public IActionResult ResizeAndCompress(IFormFile file)
{
using (var image = Image.Load(file.OpenReadStream()))
{
// 调整大小
image.Mutate(x => x.Resize(800, 600));
// 压缩
var jpegEncoder = new JpegEncoder { Quality = 50 };
image.Save(outputStream, jpegEncoder);
}
}
以上代码将加载上传的图像文件,将其大小调整为800x600,并将其压缩到50%的质量级别。最终图像将通过outputStream变量呈现。
注意:在使用ImageSharp进行图像操作时,可以使用诸如Resize,Rotate,Crop等方法来操作图像。可以在官方文档中找到更多有关此库的信息和示例。