이미지 픽셀 아트 변환 기능을 만들다가,
픽셀화 로직만 따로 분리해 재사용할 수 있으면 좋겠다는 생각으로 이미지 픽셀화 라이브러리를 만들었습니다.
특징
- zero-dependency + 작은 패키지 크기(약 44kB)
- 브라우저와 Node.js 모두 사용 가능
-
clean/detail두 가지 픽셀화 모드 지원 - 원본 크기 유지 또는 저해상도 출력 선택 가능
- 512×512 기준으로도 수 ms 단위로 처리 가능
- 브라우저에서 Worker로 분리해 돌리기 쉬워서 무거운 이미지 처리에도 UI에 부담이 적음
동작 방식
-
clean모드는 각 셀에서 가장 많이 등장한 색을 사용해서 경계가 또렷함 -
detail모드는 각 셀의 평균 색을 사용해서 그라데이션과 질감을 조금 더 자연스럽게 남김
사용 예
import { pixelate } from 'fast-pixelizer'
const result = pixelate(imageData, { resolution: 32 })
// -> { data: Uint8ClampedArray, width, height }
링크
- npm: https://www.npmjs.com/package/fast-pixelizer
- GitHub: https://github.com/handsupmin/fast-pixelizer
편하게 사용해보시고 피드백 부탁드립니다. 🙂