팔레트 추출

이미지 여러 장에서 팔레트를 한 번에 뽑아 .gpl·HEX·JSON으로 저장하세요.

팔레트 추출은 스프라이트가 쓰는 색과 색마다 몇 픽셀을 차지하는지 보여 주므로, 실수로 생긴 거의 같은 색을 찾고 색 예산을 지킬 수 있습니다. 이미지 한 장이나 애니메이션의 모든 프레임을 끌어다 놓으면 팔레트 단계가 전체에 쓸 팔레트 하나(기본 16색, 2~256)를 만들고, 색마다 정확한 픽셀 수와 비율을 보여 주고, 정렬하며, 목표에 맞게 가장 드문 색을 가장 가까운 남는 색으로 합칠 수 있습니다. GIMP .gpl, HEX 목록, JSON으로 저장하며 아무것도 업로드하지 않습니다.

이미지을(를) 여기에 놓으세요여러 개를 한 번에 처리할 수 있습니다
업로드 없음 · 이 기기에서 처리

정확한 색 목록과 추출한 팔레트는 다릅니다

랩의 추출은 색을 줄이는 과정입니다. 먼저 픽셀을 채널당 5비트(256단계 대신 32단계) 칸에 알파로 가중해 모으고, 그 칸들을 Oklab에서 중앙값 분할로 나눕니다. 모든 채널에서 8단계 미만으로 차이 나는 두 색은 같은 칸에 들어가 평균한 색 하나로 나옵니다. 잡음이 있거나 크기가 바뀐 이미지에는 바람직하지만, 손으로 찍은 도트의 색을 그대로 알아야 할 때는 맞지 않습니다.

그대로의 목록이 필요하면 Studio 픽셀 작업 공간의 그림에서 팔레트 만들기를 쓰세요. 정확한 색을 모두(투명 칸 외에 최대 255개) 모아 많이 쓰인 순으로 늘어놓습니다. 반면 랩의 개수는 랩 팔레트 기준으로 정확합니다. 모든 픽셀을 Oklab 기준 가장 가까운 팔레트 색에 배정하며(정확히 같은 색은 바로 배정), 프레임 합계가 4메가픽셀 미만이면 모든 프레임을 셉니다.

색 예산은 개수를 결정으로 바꿔 줍니다. 목표를 정하면 목표를 넘는 가장 드문 색이 나열되고, 합치기는 각 색을 Oklab에서 가장 가까운 남는 색으로 옮깁니다. 함께 지워질 색끼리는 합치지 않으므로 결과는 정말로 목표 개수의 색만 씁니다.

색 예산
스프라이트나 프레임 하나가 쓸 수 있는 최대 색 수.
5비트 칸
빨강·초록·파랑의 상위 5비트(각 32단계)가 같은 색들의 묶음.
비율
한 색의 픽셀 수를 불투명 픽셀 전체로 나눈 값.
.gpl
김프의 텍스트 팔레트. "GIMP Palette" 머리말, 선택적인 Name과 Columns, 그 뒤 색마다 "R G B 이름" 한 줄.

예시: 초록 둘이 하나가 되는 이유, 그리고 16색에서 8색으로

칸 계산과, 랩 검증에 쓴 예산 시험입니다.

#3e8948 = (62,137,72)  → 칸 62>>3=7, 137>>3=17, 72>>3=9
#3f8a4a = (63,138,74)  → 칸 63>>3=7, 138>>3=17, 74>>3=9   같은 칸
추출 결과: 두 색을 픽셀 수로 가중 평균한 색 하나
정확한 목록(Studio, 그림에서 팔레트 만들기): 두 색 모두, 사용량 순
예산: 16색, 목표 8 → 가장 드문 8색이 나열됨
합치기: 각각 Oklab에서 가장 가까운 남는 색으로
내보내기: 프레임이 실제로 8색만 씀, 팔레트 밖 0

두 초록을 일부러 칠했다면 Studio에서 세고, 크기 변경이나 압축 때문에 생긴 색이라면 합쳐진 색을 남기세요.

랩이 쓰는 팔레트 파일

파일용도
palette.gpl김프 팔레트 텍스트: Name:, Columns:, 그 뒤 R G B와 색 이름으로 쓴 hex 코드. 김프와 에이스프라이트에서 열립니다.
palette.hex한 줄에 #rrggbb 하나. Lospec도 제공하는 단순 목록.
palette.jsonname, #rrggbb 형식의 colors, [r,g,b] 형식의 rgb, count, source.

추출한 팔레트 확인하기

  • 색 개수를 Studio의 정확한 목록과 비교합니다. 차이가 크면 이미지에 잡음이 있거나 크기가 바뀐 것입니다.
  • 빈도순으로 정렬합니다. 비율이 0 %에 가까운 색은 예산 합치기나 외톨이 픽셀 정리 대상입니다.
  • 내보낸 파일을 다시 가져옵니다(붙여 넣기나 파일). 같은 수의 색이 돌아와야 합니다.
  • 합친 뒤 프레임을 내보내 다른 도구로 색을 셉니다. 목표와 같아야 합니다.

문제 해결

증상유력한 원인확인 방법해결
따로 남아야 할 두 색이 합쳐짐같은 5비트 칸에 들어감(채널마다 8단계 미만 차이)Studio 픽셀 작업 공간의 그림에서 팔레트 만들기와 비교Studio의 정확한 목록을 쓰거나 두 색의 차이를 키우기
32색을 요청했는데 더 적게 나옴이미지의 서로 다른 칸이 요청보다 적음. 한 색 아래로는 나눌 수 없음팔레트 견본이 요청 수보다 적음문제 아님. 이미지가 그만큼의 색만 씀
팔레트 파일을 가져올 수 없음랩은 김프 .gpl, HEX 목록, JSON만 읽음. JASC .pal, AARRGGBB 값의 Paint.net .txt, 에이스프라이트의 "Channels: RGBA" 줄이 있는 .gpl은 거부됨오류 메시지가 읽지 못한 줄을 알려 줌.gpl이나 .hex 판을 받거나, 더 많은 형식을 읽는 Studio 픽셀 작업 공간에서 불러오기
개수가 보이는 프레임만 셈전체 프레임 합계가 4메가픽셀을 넘음개수 옆 패널에 그렇게 표시됨정확한 합계가 필요하면 프레임을 적게 넣기

다른 방법

방법이럴 때 더 낫습니다
Studio 픽셀 작업 공간: 그림에서 팔레트 만들기손으로 찍은 그림의 색을 그대로 알아야 하거나 .gpl·.hex·.json 밖의 형식(.pal, .ase, .act)이 필요할 때. 팔레트 편집기 참고.
공개된 팔레트에서 시작스프라이트 자체 색 대신 알려진 팔레트를 따르게 하려면 Lospec 팔레트.
추출 전에 배율과 흐림 확인확대된 이미지일 수 있다면, 흐리게 확대된 그림의 개수는 1배로 맞추기 전까지 의미가 없습니다. 픽셀 퍼펙트 검사 참고.

이 방법의 한계

  • 추출은 채널마다 8단계보다 가까운 색을 합치므로 정확한 목록이 아닙니다.
  • .gpl, HEX, JSON만 읽고 씁니다.
  • 정확한 개수는 전체 프레임 면적 4메가픽셀까지입니다.

버전과 출처

Nerulio: docs/PIXEL-LAB.md(Chromium. 16색에서 8색으로 합친 결과를 내보낸 PNG에서 다시 셌고, .gpl·.hex·JSON 왕복은 16색 → 16색). 칸 계산은 src/pixel-engine.js를 따릅니다. 파일 구조는 김프 사양과 Lospec이 실제로 내려주는 파일을 따릅니다.

참고한 공식 문서

팔레트 추출

이미지 여러 장에서 팔레트를 한 번에 뽑아 .gpl·HEX·JSON으로 저장하세요.

사용 방법

  1. 이미지 넣기
  2. 필요한 설정을 조정하고 결과 확인
  3. 다운로드로 새 파일 저장

지원 형식

PNG / JPG / WebP / AVIF / HEIC → PNG + JSON (ZIP) — 입력 디코딩은 브라우저 지원과 추가 엔진 사용 여부에 따라 다릅니다.

이 도구로 할 수 있는 일

이미지 여러 장에서 색 4·8·16·32·64개를 한 번에 뽑고 .gpl·HEX·JSON으로 저장하세요.

처리 방식과 검증 수준

advanced · shared alpha-weighted histogram / Oklab median cut + Lloyd / .gpl, HEX and JSON round trip. 품질 검증을 진행 중입니다. Pro·Flagship 수준은 아직 입증되지 않았습니다.

저장 전에 확인하세요

색은 채널당 5비트로 묶어 세므로 한두 픽셀만 쓰인 색은 이웃 색에 합쳐질 수 있습니다.

자주 묻는 질문

이 도구의 한계는 무엇인가요?

색은 채널당 5비트로 묶어 세므로 한두 픽셀만 쓰인 색은 이웃 색에 합쳐질 수 있습니다.

파일이 서버에 업로드되나요?

이 도구에서 연 파일은 서버에 업로드하지 않고 사용자 기기에서 처리합니다. 커뮤니티 글에 직접 첨부하는 이미지는 별도로 업로드됩니다. 일부 엔진과 모델은 외부에서 내려받으므로 IP 주소 등 연결 정보가 해당 서비스에 전달됩니다.

작업이 자동 저장되나요?

아니요. 이미지와 편집 상태는 이 탭에 있고 미디어 결과는 기기 내 임시 저장소를 사용할 수 있습니다. 언어를 바꿔도 작업은 유지되지만 새로고침, 탭 닫기, 다른 페이지로 이동하면 사라질 수 있습니다.