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를 제공하며, 임베딩, 밴드 곱셈, 컨볼루션 예제로 설명됩니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트