[HTML] 10. 이미지에 대한 이해



비트맵

  • 각 픽셀이 모여 만들어진 정보의 집합으로 레스터(Raster) 이미지 라고 한다.
  • 픽셀 단위로 화면에 렌더링
  • 정교하고 다양한 색상을 자연스럽게 표현
  • 확대, 축소 시 계단 현상, 품질 저하



벡터

  • 수학적 정보의 형태(shape)들이 만들어내는 결과물
  • 이미지가 가지고 있는 점, 선, 면의 위치(좌표), 색상 등의 정보를 온전히 가지고 있으며 그를 화면에 렌더링
  • 비트맵보다 더 많은 연산을 해야하지만, 해상도(픽셀)의 영향을 받지 않는다. (확대, 축소시 이미지 깨지지 않음)
  • 확대, 축소시 이미지 용량 변화가 없다.
  • 정교한 이미지를 표현하기 어렵다.



JPG(JPEG)

  • 압축률이 훌륭하여 사진이나 예술 분야에서 많이 사용된다.
  • 손실 압축(여러번 원본을 저장하면 이미지가 손실된다. 하지만 용량 적게 든다.)
  • 표현 색상도(24비트, 약 1600만 색상) 가 뛰어나 고해상도 표시장치에 적합
  • 이미지의 품질과 용량을 쉽게 조절 가능
  • 가장 널리 쓰이는 이미지 포맷
  • ✨높은 압축률(적은 용량)



PNG

  • gif의 대체 포맷으로 개발
  • 비손실 압축(용량을 획기적으로 줄이기는 어렵다. 하지만 손상되지 않음)
  • 8비트(256색상), 24비트(약 1600만 색상) 컬러 이미지 처리
  • Alpah Channel 지원 (투명도)
  • W3C 권장 포맷
  • ✨투명도 지원



GIF

  • 이미지 파일 내에 이미지 및 문자열 같은 정보들을 저장할 수 있다. (움짤)
  • 비손실 압축
  • 여러 장의 이미지를 한 개의 파일에 담을 수 있다.(움짤, 애니메이션)
  • 8비트 컬러만 지원(다양한 색상을 표현하는 작업에는 부적합)
  • ✨동영상 같은 이미지



WEBP

  • JPG, PNG, GIF를 모두 대체할 수 있는 구글이 개발한 이미지 포맷
  • 완벽한 손실/비손실 압축 지원
  • GIF 같은 애니메이션 지원
  • Alpha Channel 지원(손실, 비손실 모두)
  • 모든 브라우저에서 지원하지 않는다. (크로스 플랫폼 불가)
  • ✨ 완벽한 포맷! but 모든 브라우저는 아닌…



SVG

  • 마크업 언어(HTML/XML) 기반의 벡터 그래픽을 표현하는 포맷
  • 파일로 된 SVG, 코드로 된 SVG
  • 해상도의 영향에서 자유로움(반응형에서 쓰기 좋다)
  • CSS로 Styling 가능
  • javascript로 event handling 가능
  • 코드 혹은 파일로 사용 가능
  • ✨벡터 이미지에 익숙하지 않다면 다루기 까다롭다.