.NET图像处理新利器!PhotoSauce:高质量、高性能图像大小调整开源工具
|
admin
2025年2月12日 13:36
本文热度 117
|
推荐一个专注于为 Web 提供高质量、高性能图像处理解决方案的开源项目。01
项目简介
PhotoSauce 是一个开源的高性能、高质量图像.NET 处理库。它提供了简单易用的 API,能够高效地完成复杂的图像处理任务,尤其在图像缩放、颜色管理、高质量重采样和锐化等方面表现出色。同时提供Web 图像大小自动处理解决方案:WebRSize。能够轻松集成到现有的 Web 应用中,并为现有的基于 System.Drawing 的解决方案提供无缝升级路径。支持安全的图像处理,允许对不同文件夹配置默认设置和处理限制。通过可扩展的虚拟路径提供程序,支持从远程源加载图像。提供基于 URL 的简单接口,方便开发者快速配置和使用。
02
性能表现
Windows x64:在处理 12 张约 1 百万像素的 JPEG 图像时,MagicScaler 的平均处理时间为 46.85 毫秒,而其他库(如 System.Drawing 和 ImageSharp)的处理时间分别为 354.73 毫秒和 115.90 毫秒。Linux x64:在 Ubuntu 20.04 环境下,MagicScaler 的平均处理时间为 99.8 毫秒,相比之下,System.Drawing 的处理时间为 271.7 毫秒。Linux Arm64:在 Raspberry Pi 4b 2GB 设备上,MagicScaler 的平均处理时间为 214.7 毫秒,而 System.Drawing 的处理时间为 1,205.9 毫秒。
03
图像质量
支持线性光处理和锐化,能够更好地保留图像的细节和高光部分。此外,MagicScaler 默认会根据图像的大小和格式自动调整 JPEG 压缩质量,以避免压缩伪影。
04
使用方法
将 big.jpg 缩放为宽度为 400 像素的图像,并自动调整高度以保持正确的纵横比,输出保存为 small.jpg。MagicImageProcessor.ProcessImage(@"\img\big.jpg", @"\img\small.jpg", new ProcessImageSettings { Width = 400 });
目前仅适用于使用 IIS 集成管道模式托管的 ASP.NET。<configSections>
<section name="webrsize" type="PhotoSauce.WebRSize.WebRSizeSection" />
</configSections>
<webrsize>
<diskCache path="/webrsizecache" />
<imageFolders>
<add name="images" path="/images/" forceProcessing="true">
<defaultSettings>
<add key="width" value="300"/>
<add key="sharpen" value="false"/>
</defaultSettings>
</add>
</imageFolders>
</webrsize>
<img src="photo.jpg?w=100" srcset="photo.jpg?w=100 1x, photo.jpg?w=100&dpr=2 2x" />
05
项目地址
阅读原文:原文链接
该文章在 2025/2/13 8:41:18 编辑过