iView는 사용자가 명시적으로 선택한 여러 대형 이미지를 VS Code 안에서 동시에 비교하는 읽기 전용 이미지 뷰어입니다. 브라우저가 직접 지원하지 않는 PPM/PNM 계열과 BMP도 별도 디코더로 표시합니다.
주요 기능
Explorer 또는 파일 선택창에서 고른 이미지만 동시에 표시
선택하지 않은 같은 디렉터리의 파일은 검색하거나 미리 읽지 않음
모든 비교 패널이 같은 원본 좌표, 확대 배율, 이동 위치를 공유
하단에 포인터 원본 좌표와 선택 이미지별 RGB 값을 실시간 표시
모든 확대 배율에서 보간 없이 최근접 픽셀 방식으로 표시
기본값이 OFF인 픽셀 그리드를 G로 전환하며, ON이면 모든 확대 배율에서 지속 표시
R로 선택한 파일만 디스크에서 다시 읽으며 현재 배율과 공통 중심 좌표 유지
1~3장은 한 행, 4장 이상은 선택 파일 전체가 보이는 적응형 그리드 사용
PPM/PGM/PBM/PNM의 P1~P6 형식 지원(8비트 및 16비트 샘플)
비압축 BMP 1/4/8/16/24/32비트와 16/32비트 bitfields 지원
PNG, JPEG, GIF, WebP, AVIF, ICO는 Chromium 네이티브 디코더 사용
PPM/BMP 디코딩을 Web Worker에서 수행해 편집기 UI 멈춤 방지
PPM/BMP를 원본 해상도의 RGBA 픽셀로 무손실 디코딩
Fit, 1:1, 마우스 휠 확대/축소, 드래그 이동
사용법
Explorer에서 Ctrl/Cmd 또는 Shift를 사용해 비교할 이미지들을 멀티 선택합니다.
선택 파일 중 하나를 우클릭합니다.
iView: Compare Selected Images를 선택합니다.
Command Palette에서 iView: Compare Selected Images를 실행하면 멀티 파일 선택창으로 비교할 파일을 고를 수도 있습니다. Open With… → iView로 직접 연 경우에는 해당 파일 한 장만 표시합니다.
단축키:
동작
키
확대/축소
+ / - 또는 마우스 휠
원본 픽셀 크기
0
화면에 맞춤
F 또는 이미지 더블클릭
파일명 표시 전환
N
자동 픽셀 그리드 전환
G
선택 이미지 다시 읽기
R 또는 상단 Reload 버튼
각 패널의 파일명을 클릭하면 Explorer에서 해당 이미지를 표시하고, 더블클릭하면 해당 이미지를 별도 iView 탭으로 엽니다. 어느 패널에서 확대하거나 드래그해도 모든 패널에 동일한 원본 좌표와 배율이 적용됩니다.
이미지 평가 무결성
원본 파일은 읽기 전용으로 열며 수정하거나 다시 저장하지 않습니다.
별도 압축, 리사이즈, 색 보정, 필터를 적용하지 않습니다.
PPM/BMP의 RGBA 변환은 화면 표시를 위한 포맷 디코딩이며 모든 원본 픽셀을 유지합니다.
Fit은 원본 데이터가 아니라 화면 표시 배율만 변경합니다. 픽셀 평가는 0 키 또는 1:1 버튼을 사용하세요.
확대·축소 표시는 image-rendering: pixelated를 사용하므로 인접 픽셀을 섞지 않습니다.
픽셀 그리드의 초기 기본값은 OFF이며 G로 켜면 0.1%부터 6400%까지 모든 배율에서 계속 표시합니다. 100% 이상에서는 매 원본 픽셀 경계를 그리고, 100% 미만에서는 화면상 최소 1px 간격이 되도록 정수 배수의 원본 픽셀 경계를 표시합니다. 화면 좌표 canvas 오버레이이므로 이미지 데이터에는 영향을 주지 않습니다.
대용량 이미지 메모리
선택한 이미지는 비교를 위해 모두 원본 해상도로 디코딩합니다. 24MP 이미지 한 장의 RGBA 픽셀 버퍼만 약 96MB이며 화면 canvas에도 메모리가 필요합니다. 이미지 수가 많을 때는 시스템 메모리 사용량도 비례해 증가하지만, iView가 임의로 축소하거나 압축하지는 않습니다.
개발
후속 개발을 위한 요구사항, 아키텍처, 검증 및 배포 문서는 docs/autogen/README.md에 정리되어 있습니다.
npm run check
npm test
npm run package
생성된 iview-0.4.3.vsix는 VS Code의 Extensions: Install from VSIX… 명령으로 설치할 수 있습니다.
현재 제한
RLE/JPEG/PNG 압축을 내부에 포함한 BMP는 지원하지 않습니다.
네이티브 형식(PNG/JPEG 등)의 최종 메모리 사용량은 VS Code Chromium 이미지 디코더가 관리합니다.
파일 자체가 손실 압축 형식(JPEG 등)이면 해당 파일에 이미 저장된 픽셀을 브라우저 네이티브 디코더로 표시하며, iView가 추가 압축하지 않습니다.