NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

针对.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

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2017-02-07 18:003431

评论

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

列存数据库,不只是列式存储

Kyligence

极客-架构训练营模块1作业

谭谭

架构 架构实战营

不用 Python/R ,只会 SQL 就可以做机器学习?

Kyligence

大数据+云:Kylin/Spark/Clickhouse/Hudi 的大佬们怎么看?

Kyligence

计划会议想开好,这两件事必须清楚

华为云开发者联盟

计划 敏捷 团队 计划会议 故事分解

Java开发中 API接口不用写 Controller也可以

@零度

Java API Controller

通过 nginx 日志做监控

Arch

生产队灯火通明 | 尚硅谷Maxwell视频教程发布

编程江湖

大数据 Maxwell

支撑1300+矿井监控,华为云数据库助力打造智能矿山

华为云开发者联盟

数据库 监控 华为云 数据复制服务 煤矿

Hybris Storefront里产品图片显示不出来的分析方法

Jerry Wang

28天写作 SAP Hybris 12月日更 Backoffice

前端开发JS框架之Zepto与jQuery的异同

@零度

jquery 大前端 zepto

关于库存扣减方案的思考总结

得物技术

后端 电商 库存 电商大促

云脑启智 院士压轴 | 2021新一代人工智能院士高峰论坛暨OpenI/O启智开发者大会即将开幕

OpenI启智社区

人工智能 开源社区 院士峰会 启智开发者大会 鹏城云脑

react源码解析20.总结&第一章的面试题解答

buchila11

React react源码

云原生时代,企业如何智能管理数据?

Kyligence

共襄信创产业生态建设之力|DataPipeline加入北京信创工委会!

DataPipeline数见科技

数据库 中间件 信创 数据融合

终于购买了自己的第一个硬件钱包Ledger Nano(8/28)

赵新龙

28天写作

使用 HTML、CSS、JS 和 API 制作一个很棒的天气 Web 应用程序

海拥(haiyong.site)

JavaScript API 28天写作 签约计划第二季 12月日更

低代码是如何帮助500强企业解决数字化转型“边角料”问题的?

优秀

低代码 数字化转型

一款好用的Maven插件 - Maven Helper

恒生LIGHT云社区

Java maven

react源码解析19.手写迷你版react

buchila11

React React Hooks

TCP的慢启动、拥塞避免、重传、快恢复乱七八糟总是记不清?11个连环问让你一次性打通任督二脉

华为云开发者联盟

TCP 报文 TCP协议 ACK RTT

华为云首席架构师顾炯炯:敢为人先,探索架构创新之路如何走

华为云开发者联盟

架构 架构师 公有云 华为云 云服务API

做一朵「透明可信」的云,火山引擎是如何保障企业数据和隐私的?

ToB行业头条

好好学react源码然后惊艳所有人

全栈潇晨

React react源码

低代码实现探索(六)复杂业务的去处事件码

零道云-混合式低代码平台

预计算 or 数据虚拟化,你 pick 谁?

Kyligence

BI + AI:洞见数据和分析的未来

Kyligence

硬核榜单 | 拍乐云荣登福布斯中国「企业科技50强」

拍乐云Pano

音视频 拍乐云 福布斯 科技企业

MongoDB技术实践与应用案例征集中

MongoDB中文社区

mongodb

iTerm通过SSH配置登录服务器

eva

Mac iTerm 服务器

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