DPaint.js
DPaint.js는 1980년대 Amiga 그래픽 프로그램인 Deluxe Paint의 작업 경험을 웹 브라우저에서 재현하고, Amiga의 역사적인 그림·애니메이션 데이터를 편집할 수 있도록 개발된 공개 소스 그래픽 소프트웨어다. Steffest가 JavaScript로 구현한 별도의 프로...
| 작성 언어 | JavaScript |
|---|---|
| 분류 | 웹 기반 픽셀 아트·비트맵 편집기 |
| 개발 | Steffest 및 기여자 |
| 구현 언어 | JavaScript(ES6 모듈) |
| 라이선스 | MIT 라이선스 |
| 실행 환경 | 현대 웹 브라우저·오프라인 실행 가능 |
| 설계 모델 | Deluxe Paint에서 영감을 받은 UI |
| 그래픽 기능 | 팔레트·레이어·선택·마스킹·디더링 |
| 애니메이션 | 프레임별 제작·색상 순환 |
| Amiga 형식 | IFF ILBM·ANIM·아이콘·ADF 이미지 접근 |
| 파일 출력 | Amiga 관련 형식 및 일반 이미지 형식 |
| 공식 사이트 | DPaint.js |
| 소스 저장소 | DPaint-js GitHub |
DPaint.js는 1980년대 Amiga 그래픽 프로그램인 Deluxe Paint의 작업 경험을 웹 브라우저에서 재현하고, Amiga의 역사적인 그림·애니메이션 데이터를 편집할 수 있도록 개발된 공개 소스 그래픽 소프트웨어다. Steffest가 JavaScript로 구현한 별도의 프로젝트로, 기존 Electronic Arts의 Deluxe Paint 실행 파일을 웹에 이식한 것이 아니라 새로운 브라우저 응용 프로그램을 작성한 것이다. 픽셀 아트, 저해상도 인덱스 색상 이미지, 팔레트 기반 애니메이션과 오래된 컴퓨터의 그래픽 자산 복원을 주요 대상으로 삼는다.[1]
편집기는 픽셀 단위 브러시·선택·변형 도구와 레이어, 마스크·필터를 제공하며, 사용자 정의 팔레트와 디더링을 이용해 제한된 색상 수에서 복잡한 그라데이션과 질감을 표현한다. 특히 화면의 픽셀 값을 바꾸지 않고 팔레트의 색상을 반복적으로 교체하는 색상 순환(color cycling)을 지원하여 움직이는 물·빛 등의 효과를 만들 수 있다. 프레임별 애니메이션 기능은 서로 다른 그림을 시간에 따라 재생하는 방식이며 색상 순환과는 별개의 애니메이션 모델이다.
Amiga와 호환되는 파일 처리는 DPaint.js의 독특한 기능이다. ILBM 이미지는 색상 팔레트 및 비트플레인 기반 픽셀 데이터를 보관하며, ANIM은 여러 프레임의 변화를 저장하는 Amiga 애니메이션 형식이다. 프로그램은 이러한 파일과 Amiga 아이콘, 디스크 이미지(ADF)의 그래픽 자산을 읽거나 변환할 수 있으며, OCS/ECS나 Atari ST의 색상 깊이 제한을 선택해 당시 하드웨어의 결과물에 맞는 이미지를 제작할 수 있다.[2]
DPaint.js는 브라우저 안에서 이미지를 처리하며 계정이나 서버 측의 이미지 업로드를 기본 실행 과정에 요구하지 않는다. 웹 서버에서 로컬로 제공하면 네트워크 연결 없이 작업할 수 있고 터치 입력을 사용하는 태블릿에서도 실행할 수 있다. 개발 저장소는 기능을 계속 개선하는 초기 프로젝트 상태를 명시하므로 모든 계획 기능이 구현되어 있다고 해석해서는 안 된다. 이름의 유사성보다 Deluxe Paint 파일·인터페이스의 보존과 웹 표준 기반 재구현에 초점을 두는 것이 정확하다.