50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

评论

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

Web3极客日报#140

谢锐 | Frozen

区块链 独立开发者 技术社区 Rebase Web3 Daily

“四个维度” 讲明白什么是微服务!

攀岩飞鱼

微服务 单体系统 架构设计 团队组织 康威定律

Leetcode 556. Next Greater Element III

隔壁小王

算法

程序员的晚餐 | 5 月 15 日 如果不写代码了,那就开个饺子店

清远

美食

服务发现:ZooKeeper vs etcd vs Consul

Tux Hu

Docker 容器 微服务 etcd Consul

为什么软件开发很难外包

刘华Kenneth

外包 DevOps 风险 背锅

高仿瑞幸小程序 09 云数据库初体验

曾伟@喵先森

小程序 微信小程序 大前端 移动

谈谈双亲委派模型的第四次破坏-模块化

寻筝

Java JVM

决战下半场:小程序技术助力金融APP重回C位

FinClip

小程序 数字化转型 app重构

如何在 Mac 上优雅的截图和录屏

Winann

macos 效率 效率工具 Mac

网站系统架构演进

Janenesome

读书笔记 程序员 架构 系统设计

elasticsearch源码解析(一)——restapi

罗琦

elasticsearch 源码分析 RESTful

Azure App 部署Django 和 PostgrSQL

yann [扬] :曹同学

Python azure

Java实现Base64

Java

数列找规律的问题

oldj

数学

一篇文章搞定Java处理Excel的各种疑难杂症

知春秋

Java Excel POI

游戏夜读 | Scikit-learn的2018自述

game1night

初次见面

KAMI

零基础如何学架构

兆熊

架构

奔腾吧,“后浪”李子柒!

无量靠谱

网红

回“疫”录(17):返宁的前一天

小天同学

疫情 回忆录 现实纪录 纪实

看完这篇HTTP,跟面试官扯皮就没问题了

苹果看辽宁体育

https okhttp

经历过疫情,你懂得了什么

Winann

疫情 个人成长 生活 成长

阿里巴巴泰山版《Java 开发者手册》,也是一份防坑指南

古时的风筝

Java规范 Java开发手册

战略懒惰有多可怕

Neco.W

创业 重新理解创业 初创公司

JVM源码分析之Object.wait/notify实现

猿灯塔

JVM

浅析 - CocoaLumberjack 3.6 之 DatabaseLogger

Edmond

ios sqlite log4j CocoaLumberjack DDLog

游戏发行中学到的重要经验(严肃长文)

谢锐 | Frozen

独立开发者 游戏开发 游戏出海 移动互联网

找一个更好的理由

史方远

职场 成长 工作

谈谈控制感(4):损失的后果很严重

史方远

职场 心理 成长

记一次MHA切换故障踩的坑

一个有志气的DB

MySQL 高可用 复制 主从同步 故障分析

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