写点什么

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

评论

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

【Docker 那些事儿】容器监控系统,来自Docker的暴击

Albert Edison

Docker 云计算 Kubernetes 云原生 7月月更

openharmony萌新贡献指南

坚果

开源 HarmonyOS OpenHarmony 7月月更

架构实战营第7模块作业

Geek_53787a

物联网技术在物联网产业格局的分布与应用

AIRIOT

低代码 物联网 低代码,项目开发

文档协同工具推荐

Baklib

Baklib:分享一些关于建设企业知识管理(KM)的方法

Baklib

Seata 多语言体系建设

SOFAStack

开源项目 seata 开源软件 多编程语言 项目共建

典型的数据湖应用案例

五分钟学大数据

数据湖 7月月更

Kubernetes网络插件详解- Flannel篇

巨子嘉

云计算 容器 云原生

你的技术leader不懂这个?没有它就是没有设计的完成思考过程

田晓亮

方法论 架构设计

深度遍历:统计最高分的节点数目 🐟

空城机

算法题 7月月更

👈🏻👈🏻👈🏻你来追我呀!Flutter 实现追逐动画

岛上码农

flutter ios 移动端开发 安卓开发 7月月更

王者荣耀商城异地多活架构设计

joak

Linux并不是一个操作系统

冯亮

Linux GNU

学生思维VS职场思维

KEY.L

Paper Time 回顾|MB2:为自治数据库建立行为模型

OceanBase 数据库

IMPALA2.12环境安装

怀瑾握瑜的嘉与嘉

7月月更

【刷题记录】15.三数之和

WangNing

7月月更

手把手带你体验Python实现人脸识别

迷彩

人脸识别 7月月更

RISC-V Linux 内核剖析 会议记录

贾献华

7月月更

Docker 搭建 MySQL 主从复制

宁在春

MySQL Docker 主从复制 7月月更

如何将 NFT 元数据从 IPFS 转移到智能合约中

devpoint

智能合约 NFT Metaverse 7月月更

承上启下继往开来,Python3上下文管理器(ContextManagers)与With关键字的迷思

刘悦的技术博客

Python 数据库 Python3 上下文 上下文管理器

nacos注册中心之服务地址的查询

急需上岸的小谢

7月月更

连接无限·协同无界|融云首届全球企业通信云大会 WECC 来了

融云 RongCloud

通信云

React Native 跨端框架与小程序混编的方法

Geek_99967b

小程序

如何搭建清晰易懂的数据看板?

字节跳动数据平台

字节跳动 BI BI 分析工具 sentinel dashboard 可视化看板

DeFi 2.0的LaaS协议,重振DeFi赛道发展的关键

BlockChain先知

几种2022年流行的跨端技术方案的比较

Geek_99967b

小程序

MySQL的锁(一)

技术小生

MySQL 7月月更

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