프로젝트 소개

sharp는 이미지 처리를 위한 고속 Node-API 모듈로, 주로 대용량 이미지를 일반적인 형식에서 더 작고 웹 친화적인 JPEG, PNG, WebP, GIF, AVIF 파일로 다양한 크기로 변환하도록 설계되었습니다. libvips 라이브러리를 기반으로 구축되었습니다. Node-API v9를 지원하는 모든 JavaScript 런타임에서 작동하며, Node.js(>= 20.9.0), Deno, Bun을 포함합니다. 프로젝트에 따르면, libvips 덕분에 이미지 크기 조정이 일반적으로 가장 빠른 ImageMagick 및 GraphicsMagick 설정보다 4배-5배 빠릅니다. 크기 조정 외에도 이 모듈은 색상 공간, 임베디드 ICC 프로필 및 알파 투명도 채널을 처리하며, 품질을 보존하기 위해 Lanczos 리샘플링을 사용합니다. 추가 작업으로는 회전, 추출, 합성 및 감마 보정이 포함됩니다. 대부분의 최신 macOS, Windows 및 Linux 시스템에서는 추가 설치나 런타임 종속성이 필요하지 않습니다. 사용법은 간단합니다: npm을 통해 설치하고, 모듈을 import 또는 require한 다음, resize, autoOrient, jpeg, toFile 또는 toBuffer와 같은 작업을 체인으로 연결합니다. 처음부터 이미지를 생성하고, SVG 오버레이(예: 둥근 모서리)를 합성하며, pipe를 통한 스트리밍도 지원합니다. 전체 설치 지침, API 문서, 벤치마크 테스트 및 변경 이력은 sharp.pixelplumbing.com에서 확인할 수 있습니다. 이 프로젝트는 Apache-2.0 라이선스로 배포되며, 기여자 가이드를 통해 기여를 환영합니다.