盘点10个.Net相关的图片处理开源库,包括图片格式转换、缩放、旋转处理、二维码识别等。
项目地址:
SkiaSharp是基于Google的Skia图形库的.NET封装,是一个用于2D图像绘制的开源库,无论桌面应用程序、移动应用还是Web应用,都可以使用。
.Net开发人员可以利用这个强大而灵活的跨平台图形库,来实现高质量的图形绘制和渲染。
**1、跨平台:**支持多种操作系统,包括Windows、macOS、iOS、Android以及其他.NET Core兼容的平台。
**2、高性能:**支持硬件加速技术,提供高效的图形渲染能力,都可以保证在任何平台应用流畅的用户体验;
**3、易用性:**提供了直观的API,使得开发人员可以轻松地在.NET应用程序中绘制各种形状、文本和图像。此外还提供了WPF和WinForms的控件,简化开发难度与工作量。
**4、丰富的图形功能:**除了提供基本的绘图操作,还提供很多复杂的图形效果,如阴影、渐变和纹理。
5、支持多种文本渲染:无论是矢量字体还是位图字体,都提供了强大的文本渲染能力。
二、****ImageSharp:高性能跨平台.NET开源图形库
****项目地址:
一款完全托管的代码库,高性能、跨平台的图形库。它支持在任何支持.NET 6+的环境中安装和使用,可以运用在各种场景:设备端,云端以及嵌入式和物联网等。
ImageSharp功能非常丰富,使用简单,常见的操作只需几行代码就可以完成。它支持jpeg、bmp、gif、pbm、png、tga、tiff、webp和qoi等多种图像格式。
同时ImageSharp支持超过25种不同的像素格式,并支持对元数据编辑(如IPTC EXIF、XMP)和色彩空间转换(如RGB、CMYK、灰度、CIELab等)功能。
此外,它还提供了超过40种常见的图像处理操作,性能出色且内存友好,能够处理任何尺寸的图像,包括数百万像素的大图。
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
// 加载图像
using (var image = Image.Load<Rgba32>("demo.jpg"))
{
// 应用灰度滤镜
image.Mutate(x => x.Grayscale());
// 保存应用滤镜后的图像
image.SaveAsJpeg("grayscale_image.jpg");
}
****项目地址:
一个功能强大的 C# 库,专门用于创建矢量图形,包括文本,不依赖任何第三方,支持跨平台运行,包括 Mac、Windows 和 Linux。使得开发者可以更容易地在他们的项目中集成矢量图形的生成和处理。
四、****SVG:一个基于.Net的SVG图形开源操作库
****项目地址:
这是一个支持.Net Framework 与 .Net Core版本的SVG图形操作库。这个项目集成了SVG各项API,让开发人员可以在.Net很轻松的实现SVG图形的操作,通过SVG文件转换为图片文件。
目前在主要有2个版本:Version 2.4/3.0。版本2.4是.NET Framework 特定版本,3.0版本才支持 .NET Core,同时该版本Linux 和 Mac也都是兼容的。
五、Magick.NET:强大、支持100多中格式.Net图片操作库
****项目地址:
这是基于.NET Standard开发的开源项目,支持100的图片格式,可以在C#/VB.NET/.NET Core直接使用。
如果需要操作AI/EPS/PDF/PS、Video 格式,需要额外安装插件。
核心功能
1、读取:读取、图片信息、支持多层/帧、Exif数据、颜色;
2、调整:调整动画gif大小、指定图片大小;
3、转换:100多中格式互相转换、CMYK转换为RGB、CR2转换为JPG;
4、合并:图片合并、创建动画gif;
5、PDF:PDF转为一个/多个图片、一个/多个图片转为PDF;
6、压缩:无损压缩;
7、文本:添加文本、添加水印。
六、PhotoSauce:高质量、高性能图像大小调整开源工具
项目地址:
提供了简单易用的 API,能够高效地完成复杂的图像处理任务,尤其在图像缩放、颜色管理、高质量重采样和锐化等方面表现出色。
**同时提供Web 图像大小自动处理解决方案:WebRSize。**能够轻松集成到现有的 Web 应用中,并为现有的基于 System.Drawing 的解决方案提供无缝升级路径。
七、****ZXing.Net:一个开源条码生成和识别器,职场二维码、条形码等
****项目地址:
ZXing.Net是ZXing的.Net版本的开源库。支持跨多个平台工作,包括 Windows、Linux 和 macOS,以及在 .NET Core 和 .NET Framework 上运行。
解码器支持以下条形码:UPC-A、UPC-E、EAN-8、EAN-13、Code 39、Code 93、Code 128、ITF、Codabar、MSI、RSS-14(所有变体)、QR Code、Data Matrix、Aztec和PDF-417。
编码器支持以下格式:UPC-A、EAN-8、EAN-13、Code 39、Code 128、ITF、Codabar、Plessey、MSI、QR Code、PDF-417、Aztec、Data Matrix
支持.Net 2.0+、UWP、Unity3D、Xamarin.Android、支持COM互操作,可与VBA一起使用。
八、****metadata-extractor-dotnet:提取各种图像和视频元数据的库
****项目地址:
该项目核心功能:
**1、支持多种文件格式:**如 JPEG、TIFF、RAW、MP4 等。
**2、提取丰富的元数据:**除了基本的图像属性(如尺寸、分辨率)外,还可以提取更多高级的元数据,如 EXIF、IPTC、XMP 等。
**3、跨平台支持:**作为一个 .NET 项目,它可以在 Windows、Linux、macOS 等多种操作系统上运行。
4、支持.Net版本:.NET Standard 1.3/2.1、.NET Framework 4.6.2、.Net 8.0。
九、****ImageGlass:基于C#开发的轻量级、多功能的图像查看器
****项目地址:
支持超过80种常见的图像格式,包括WEBP、GIF、SVG、PNG、JXL、HEIC等,满足了不同用户的需求。
除了基本的图像查看功能外,ImageGlass还提供了诸如图像格式转换、缩放、旋转等高级功能,满足了用户的多样化需求。
界面简洁直观,易于上手,拥有相册面板和网格背景等功能,进一步提升了图片浏览体验。
十、****libvips:高性能、低内存、跨平台的图片处理库
****项目**地址:
**
支持多种图像格式,包括:JPEG、JPEG2000、JPEG-XL、TIFF、PNG、WebP、HEIC、AVIF、FITS、Matlab、OpenEXR、PDF、SVG、HDR、PPM/PGM/PFM、CSV、GIF、分析、NIfTI、DeepZoom 和 OpenSlide。支持相应的图片格式直接保存,不需转换。
性能好、运行速度非常快、占用很少的内存,相对同类库,表现最优秀,性能快5倍以上。
官方提供SDK
官方提供各种语言的SDK,包括:Ruby、Python、PHP、C#/.Net、Go、Lua、Crystal、Elixir。
- End -
更多开源项目: github.com/bianchengle…