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