RGB565 이미지 변환기
파일은 브라우저 로컬에서만 처리됩니다. 이미지 데이터는 서버로 업로드되지 않습니다.
PNG, JPG, WebP 이미지를 RGB565 배열로 변환해 TFT LCD와 임베디드 디스플레이 프로젝트에 바로 사용할 수 있습니다. 엔디언과 출력 형식을 선택해 C/C++ 코드로 생성하세요.
파일은 브라우저 로컬에서만 처리됩니다. 이미지 데이터는 서버로 업로드되지 않습니다.
RGB565는 픽셀당 16비트(빨강 5비트, 초록 6비트, 파랑 5비트)를 사용합니다. 24비트 RGB보다 메모리와 버스 대역폭을 절약할 수 있어 임베디드 TFT LCD에서 자주 사용됩니다.
실무에서 자주 쓰는 식은 r5 = r >> 3, g6 = g >> 2, b5 = b >> 3, rgb565 = (r5 << 11) | (g6 << 5) | b5 입니다. 이 도구도 같은 방식으로 브라우저에서 계산합니다.
그래픽 API가 uint16_t를 받으면 16비트 워드 배열을 사용하고, SPI 전송에서 바이트 순서가 중요하면 uint8_t 바이트 배열을 사용하세요. 헤더/PROGMEM 옵션으로 펌웨어 통합을 쉽게 할 수 있습니다.
디스플레이 컨트롤러나 라이브러리에 따라 상위 바이트 먼저 또는 하위 바이트 먼저 전송해야 합니다. 색상이 이상하면 바이트 순서를 바꿔 확인하세요.
| 색상 | RGB888 | RGB565 | 빅엔디언 바이트 | 리틀엔디언 바이트 |
|---|---|---|---|---|
| Black | #000000 | 0x0000 | 0x00, 0x00 | 0x00, 0x00 |
| White | #FFFFFF | 0xFFFF | 0xFF, 0xFF | 0xFF, 0xFF |
| Red | #FF0000 | 0xF800 | 0xF8, 0x00 | 0x00, 0xF8 |
| Green | #00FF00 | 0x07E0 | 0x07, 0xE0 | 0xE0, 0x07 |
| Blue | #0000FF | 0x001F | 0x00, 0x1F | 0x1F, 0x00 |
| Yellow | #FFFF00 | 0xFFE0 | 0xFF, 0xE0 | 0xE0, 0xFF |
128x160, 240x240 같은 작은 해상도는 정적 리소스로 쓰기 쉽습니다. 320x240 이상은 코드 길이와 플래시 사용량이 빠르게 커지므로 압축이나 부분 렌더링을 함께 고려하세요.
RGB565 C 배열은 임베디드 디스플레이 드라이버에서 사용하는 16비트 픽셀 값 목록으로, 보통 uint16_t 또는 uint8_t 바이트 배열 형태입니다.
이미지를 불러오고 출력 크기와 형식을 선택한 뒤 배열을 생성하면 됩니다. RGB888 픽셀이 브라우저에서 RGB565로 변환됩니다.
디스플레이 컨트롤러와 드라이버가 요구하는 바이트 순서를 사용하세요. 색상 순서가 어색하면 반대 엔디언으로 바꿔 확인해 보세요.
아니요. 이미지 처리는 브라우저 로컬에서 실행되며 파일은 서버로 전송되지 않습니다.
RGB565는 RGB888보다 색 단계가 적기 때문에 그라데이션이나 미세한 색상에서 양자화 차이가 보일 수 있습니다.