BT

.NET Core向けの画像ライブラリ

| 作者: Jeff Martin , 翻訳者 編集部T 投稿日 2017年4月3日. 推定読書時間: 1分未満 |

原文(投稿日:2017/01/27)へのリンク

.NET Coreを使ってアプリケーション開発しようとするときに開発者が気づく欠点の1つは、画像ベースのAPIが欠けていることである。普及しているAPIの中の1つとして、すばらしいSystem.Drawingがあるが、これはWindowsベースのGDI+インターフェイスに依存しているため、.NET Coreでは利用できない。幸運なことに、多くのデベロッパーコミュニティが、.NET Coreをサポートする画像ライブラリを作成する取り組みをしてきた。

MicrosoftのBertrand Le Roy氏は、それぞれのライブラリの調査と比較を行い、それらの適合性を評価した。最初の調査は、これら4つの実装のアウトプットとパフォーマンスを比較するための有用な基準を示している。

  • 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にはGoogleのSkiaクロスプラットフォームの2Dグラフィックライブラリ用の.NETラッパーがあるが、.NET Coreはサポートしていない。 Miguel de Icaza氏は、.NETコアをサポートするための課題について説明している

Le Roy氏は結論として、どのライブラリが現在の個々のニーズに最も適しているかを述べている。CoreCompate.System.Drawingは、ロックの問題が許容されるアプリケーションであると仮定した場合、高いパフォーマンスを発揮する。Magick.NETは最高の品質とファイルタイプをサポートしている。最後に、ImageSharpはピュアマネージコードであり、性能は他のライブラリに劣るが、積極的な開発が進んでいるため、近い将来、より適切な最適化が可能となる。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション
BT