推薦一個專注于為 Web 提供高質(zhì)量、高性能圖像處理解決方案的開源項目。01
項目簡介
PhotoSauce 是一個開源的高性能、高質(zhì)量圖像.NET 處理庫。它提供了簡單易用的 API,能夠高效地完成復雜的圖像處理任務(wù),尤其在圖像縮放、顏色管理、高質(zhì)量重采樣和銳化等方面表現(xiàn)出色。同時提供Web 圖像大小自動處理解決方案:WebRSize。能夠輕松集成到現(xiàn)有的 Web 應(yīng)用中,并為現(xiàn)有的基于 System.Drawing 的解決方案提供無縫升級路徑。支持安全的圖像處理,允許對不同文件夾配置默認設(shè)置和處理限制。通過可擴展的虛擬路徑提供程序,支持從遠程源加載圖像。提供基于 URL 的簡單接口,方便開發(fā)者快速配置和使用。
02
性能表現(xiàn)
Windows x64:在處理 12 張約 1 百萬像素的 JPEG 圖像時,MagicScaler 的平均處理時間為 46.85 毫秒,而其他庫(如 System.Drawing 和 ImageSharp)的處理時間分別為 354.73 毫秒和 115.90 毫秒。Linux x64:在 Ubuntu 20.04 環(huán)境下,MagicScaler 的平均處理時間為 99.8 毫秒,相比之下,System.Drawing 的處理時間為 271.7 毫秒。Linux Arm64:在 Raspberry Pi 4b 2GB 設(shè)備上,MagicScaler 的平均處理時間為 214.7 毫秒,而 System.Drawing 的處理時間為 1,205.9 毫秒。
03
圖像質(zhì)量
支持線性光處理和銳化,能夠更好地保留圖像的細節(jié)和高光部分。此外,MagicScaler 默認會根據(jù)圖像的大小和格式自動調(diào)整 JPEG 壓縮質(zhì)量,以避免壓縮偽影。
04
使用方法
將 big.jpg 縮放為寬度為 400 像素的圖像,并自動調(diào)整高度以保持正確的縱橫比,輸出保存為 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 編輯過