admin管理员组

文章数量:1443663

.NET图像处理新利器!PhotoSauce:高质量、高性能图像大小调整开源工具

推荐一个专注于为 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、使用方法

1、图像缩放

将 big.jpg 缩放为宽度为 400 像素的图像,并自动调整高度以保持正确的纵横比,输出保存为 small.jpg。

代码语言:javascript代码运行次数:0运行复制
MagicImageProcessor.ProcessImage(@"\img\big.jpg", @"\img\small.jpg", new ProcessImageSettings { Width = 400 });

2、WebRSize:为前端提供图像大小扩展方法

目前仅适用于使用 IIS 集成管道模式托管的 ASP.NET。

注册:

代码语言:javascript代码运行次数:0运行复制
<configSections>
  <section name="webrsize" type="PhotoSauce.WebRSize.WebRSizeSection" />
</configSections>

配置:磁盘缓存位置和至少一个图像文件夹。

代码语言:javascript代码运行次数:0运行复制
<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>

前端使用方式

代码语言:javascript代码运行次数:0运行复制
<img src="photo.jpg?w=100" srcset="photo.jpg?w=100 1x, photo.jpg?w=100&dpr=2 2x" />

支持查询参数如下:

05、项目地址

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-03-25,如有侵权请联系 cloudcommunity@tencent 删除图像处理开源高性能工具配置

本文标签: NET图像处理新利器!PhotoSauce高质量高性能图像大小调整开源工具