- 이 프로젝트는 고전적인 Macintosh 1-bit 필터인 Atkinson Dithering을 웹에서 구현함
- 입력 이미지를 50% 회색과 비교하여 흑백으로 변환하고, 차이를 이웃 픽셀로 분배함
-
Canvas, Drag & Drop, WebWorkers, FileReader와 같은 최신 브라우저 기술을 활용함
- 변환된 이미지는 오른쪽 클릭 저장이 가능함
- 이미지의 드래그 저장은 브라우저의 제한으로 지원되지 않음
오픈소스 프로젝트의 중요성 및 차별점
- Atkinson Dithering은 Hyperdither와 HyperScan에서 사용된 클래식 Macintosh 그래픽 효과임
- 복잡한 이미지 색상 정보를 픽셀 단위로 단순하게 변환하여, 경량 흑백 이미지 생성에 유용함
-
웹 기반 구현으로 별도의 소프트웨어 없이 최신 브라우저만 있으면 사용 가능함
- WebWorkers를 통해 대용량 이미지 처리 시 비동기 실행 및 성능 최적화가 가능함
- 오픈소스 코드로 기능 확장 및 커스터마이징이 용이함
Atkinson Dithering 알고리듬 개요
- 각 픽셀을 50% 그레이(회색) 값과 비교하여 흑백으로 변환함
- 변환으로 인한 차이값을 다음과 같이 주변 6개 픽셀에 분배함
(X: 현재 픽셀, 1/8씩 분배)
- X 1/8 1/8
- 1/8 1/8 1/8
- 1/8
- 이 방식으로 이미지 전체에 디더링 효과를 적용함
구현 및 사용 방식
- 이미지 파일을 브라우저로 드래그 앤 드롭하거나 파일 선택 기능을 통해 입력함
-
Canvas API를 이용하여 실시간으로 이미지를 변환 및 렌더링함
-
FileReader를 사용해 이미지 데이터를 읽고,
-
WebWorkers를 이용해 디더링 처리를 백그라운드에서 실행함
- 변환된 이미지는 오른쪽 클릭을 통해 저장 가능함
(브라우저의 한계로, 이미지를 바탕화면에 바로 드래그하여 저장할 수 없음)
기술 스택 및 지원 환경
- HTML5, JavaScript의 최신 API를 적극적으로 활용함
-
최신 브라우저 환경이 필요하며, 구형 브라우저에서는 일부 기능이 제한될 수 있음
결론
- Atkinson Dithering 필터의 간편하고 직관적인 웹 구현 제공
-
그래픽 개발자, 아트웍, 이미지 경량화 등 다양한 분야에서 활용 가능성 높음