类别
标签
NetCore下的图形处理库的选择

    NetCore的图形库有很多的选择,目前流行的有System.Drawing.Common、ImageSharp、SkiaSharp等(以上三种是个人实际项目中使用过的,其它的还有很多)。

    System.Drawing.Common最大的缺陷是只能运行于Windows下,也是c#开发人员最熟悉的图形操作库,目前使用下来图像处理性能最高,速度最快,操作友好度也是最高的。在NetCore3.1及之前通过Libgdiplus也可以运行于Linux环境。




Libgdiplus安装如果是在生产环境下可以直接在线安装命令,如果是离线环境下,需要自己下载依赖库,逐个安装依赖库后可以正常使用。依赖库下载推荐网站pkgs.org。

System.Drawing.Common在NetCore6下微软已经不推荐该图形库。

ImageSharp支持跨平台,可以在Windows和Linux下直接使用,但在linux图像处理性能一般,在叠加水印 等图像处理上速度偏慢。GitHub地址:
https://github.com/SixLabors/ImageSharp




SkiaSharp目前是个人用的比较多的跨平台图像处理库,在windows下的处理速度相对System.Drawing.Common速度稍微偏慢一些,但比ImageSharp快很多,在Linux的处理速度也能接受。因此如果需要跨平台处理的优先推荐SkiaSharp这个库。GitHub地址:
https://github.com/mono/SkiaSharp




其实最好的方式是在Windows下使用System.Drawing.Common,在Linux下使用SkiaSharp。