10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

针对.NET Core 的图像类库

  • 2017-02-07
  • 本文字数:748 字

    阅读完需:约 2 分钟

开发人员在试着使用.NET Core 进行应用开发时可能会发现其中一个缺点,那就是缺乏基于图像的 API。在那些较流行的 API 中有值得称道的 System.Drawing,但在.NET Core 中却无法使用它,因为它依赖于 Windows GDI+ 接口。幸运的是,许多开发者社区已经投身其中,去开发支持.NET Core 的图像类库。

微软的 Bertrand Le Roy 提供了一个不同类库的调查比较,以考量它们的适合性,他的初步调查为比较以下四个实现的输出和性能提供了很有价值的参考依据:

  • CoreCompat.System.Drawing

  • ImageSharp

  • Magick.NET

  • SkiaSharp

开发人员使用已经依赖 System.Drawing 的代码将发现 CoreCompat.System.Drawing 类图很有帮助,因为它最容易替换。然而,应注意当在 Windows 上运行时它会遇到死锁问题。

ImageSharp 是一个由纯托管代码编写的新库。这使它具有非常好的跨平台支持能力,未使用原生代价的是牺牲了较高的性能。

Magick.NET 是针对 ImageMagick 类库的基于.NET 的一个包装器。它提供了大量的功能,而且 Le Roy 认为其产出物具有最好的图像质量,但当前仅支持 Windows 上的.NET Core。Magick.NET 的作者 Dirk Lemstra 想要提供一个自身跨平台的 ImageMagick,以支持其他的平台。

SkiaSharp 有一个针对谷歌 Skia 跨平台 2d 图像类库的 .NET 包装器,然而这不支持.NET Core。Miguel de Icaza 为了提供.NET Core 支持需要克服这一挑战。

在Le Roy 的结论中,哪个类库最合适实际上取决于你的需求。如果你的应用可以容忍潜在的死锁问题,那么CoreCompate.System.Drawing 是更为高效的一个选择。Magick.NET 在质量和文件类型的支持上最好。最后一个ImageSharp 从纯托管代码中得到了好处,但其性能要落后于其他的类库,由于它正在积极地开发之中,所以在不久的将来可能会得到进一步优化。

查看英文原文 Image Libraries for .NET Core

2017-02-07 18:003998

评论

发布
暂无评论
发现更多内容

一图看懂软件缺陷检查涉及的内容

Tom(⊙o⊙)

软件安全 静态代码检查

linux重要的目录之proc和dev目录

入门小站

Linux

架构实战营 - 毕业设计

en

#架构实战营

举重若轻流水行云,前端纯CSS3实现质感非凡的图片Logo鼠标悬停(hover)光泽一闪而过的光影特效

刘悦的技术博客

CSS html css3 LOGO HTML5, CSS3

『新华报』重庆试试彩官方平台[手机乐乎]

天马行空

重庆试试彩官方平台

在线蚂蚁文,菊花文生成工具

入门小站

工具

Golang Gin 框架之中间件(六)

liuzhen007

28天写作 12月日更

现实扭曲力场引论

Justin

群体心理学 28天写作 玄学

架构训练营模块一作业

沈益飞

「架构实战营」

『新华报』飞艇分析工具[手机乐乎]

天马行空

飞艇分析工具

Java应用线上事故排查实战

JavaEdge

内容合集 签约计划第二季

不懂这五项权力,做什么项目经理

Ian哥

项目管理 28天写作 五项权力

请清晰沟通选题-从策略层面定义技术演讲

将军-技术演讲力教练

2.《重学JAVA》--初探JAVA

杨鹏Geek

「Java 25周年」 28天写作 12月日更

Prometheus Exporter (十六)Microsoft SQL Server Exporter

耳东@Erdong

microsoft Prometheus 28天写作 exporter 12月日更

『新华报』一分飞艇怎么操作的[手机乐乎]

天马行空

一分飞艇怎么操作的

『新华报』回血上岸导师[手机乐乎]

天马行空

回血上岸导师

『新华报』飞艇开奖结果官网[手机乐乎]

天马行空

飞艇开奖结果官网

『新华报』北京飞艇赛车微信群[手机乐乎]

天马行空

北京飞艇赛车微信群

[Pulsar] JWT认证的原理

Zike Yang

Apache Pulsar 12月日更

mongodb出现重复id怎么办?

喵叔

28天写作 12月日更

《深入理解JVM虚拟机》第三章 垃圾收集器与内存分配策略

Joseph295

趣谈“链路追踪组件” Skywalking 和 PinPoint

悟空聊架构

链路追踪 Skywalking 28天写作 悟空聊架构 12月日更

复制流动改变世界

mtfelix

28天写作

架构实战营 - 毕业总结

en

#架构实战营

用错误的动作,让正确的事情发生(3/28)

赵新龙

28天写作

爸爸想对儿子说的话

Tiger

28天写作

『新华报』秒速飞艇开奖[手机乐乎]

天马行空

秒速飞艇开奖

Prometheus Exporter (十五)PostgreSQL Server Exporter

耳东@Erdong

Prometheus postgres 28天写作 exporter 12月日更

圣迪

新知识的地图绘制

Nydia

针对.NET Core的图像类库_.NET_Jeff Martin_InfoQ精选文章