kleisauke/net-vips
.NET binding for libvips.
解決する問題
従来の画像処理では、画像全体をメモリに読み込むことが多く、遅くてメモリを大量に消費します。NetVips は、画像を小さなセクションで処理し、パイプラインを通じてストリーミングするライブラリである libvips への .NET バインディングを提供します。これにより、リサイズやシャープネスなどの操作がはるかに高速で、メモリ効率が良くなります。
仕組み
プログラムは、ソース画像に対する一連の操作パイプラインを定義します。各操作を即座に実行する代わりに、宛先に接続されたときにパイプライン全体が一度に実行されます。libvips は画像を並列にストリーミングし、セクションごとに処理するため、画像全体をメモリに保持する必要がありません。NetVips はネイティブの libvips ライブラリを使用し、バインディングは Windows、macOS、Linux でリークなしで vips テストスイートに合格しています。
対象読者
アプリケーションで画像処理(リサイズ、シャープネス、変換など)を実行し、高性能と低メモリ使用量を求める .NET 開発者。.NET Framework 4.6.2+ および .NET 6.0+ をサポートします。libvips 共有ライブラリ(バージョン 8.2+)が必要ですが、別の NuGet パッケージが多くのプラットフォーム向けのプリコンパイル済みバイナリを提供します。
ハイライト
- ベンチマーク(大きな画像を読み込み、10% 縮小、シャープネス、保存)で、Magick.NET より約 26 倍、ImageSharp より 4 倍高速です。
- NuGet ネイティブパッケージにより複数のプラットフォームをサポートし、Windows、Linux(glibc および musl)、macOS をカバーし、ARM64 および x86 バリアントがあります。
- サポートされる形式には、JPEG、PNG、Ultra HDR、WebP、AVIF、TIFF、GIF、SVG(入力)が含まれます。
- シンプルな C# API を提供し、埋め込み、バンド乗算、畳み込みの例で示されています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト