웹 이미지

2022. 9. 15. 20:16프로그래밍/HTML & CSS

웹에서 사용할 수 있는 이미지라는 개념은 크게 비트맵과 벡터로 나뉘게 된다.

 

1. 비트맵 (Bitmap)

각각의 픽셀이 모여 만들어진 정보의 집합

레스터(Raster) 이미지 라고도 부름

일반적인 사진, 그림은 비트맵이 훨씬 더 사용하기에 효과적임


장점: 정교하고 다양한 색상을 자연스럽게 표현할 수 있음

단점: 확대/축소 시 계단 현상이 나타나고 품질이 저하됨

 

.jpg .gif .png

 

(1). JPG (JPEG)

Full-Color 와 Gray-scale 의 압축을 위해 만들어졌으며,

압축률이 훌륭해 사진이나 예술 분야에서 많이 사용함

 

손실 압축: 이미지의 픽셀이 손실되면서 압축되기 때문에 용량이 획기적으로 줄어들 수 있음

표현 색상도(24비트, 약 1600만 색상)가 뛰어남

이미지의 품질과 용량을 쉽게 조절 가능

가장 널리 쓰이는 이미지 포맷

 

(2). PNG

Gif 의 대체 포맷으로 개발됨

 

비손실 압축: 이미지가 손실되지 않으면서 압축되기 때문에 용량이 비교적 있음

8비트(246색상) / 24비트( 1600 색상) 컬러 이미지 모두 처리

Alpha Channel 지원 (투명도): 원하는 이미지 주변에 투명한 영역을 만들어낼 있음

W3C 권장 포맷

 

(3). GIF

이미지 파일 내에 이미지 문자열 같은 정보들을 저장함

 

비손실 압축

여러 장의 이미지를 개의 파일에 담을 있음 (움짤, 애니메이션)

8비트 색상만 지원: 다양한 색상 표현에는 부적합

 

(4). WEBP

JPG, PNG, GIF 모두 대체할 있는 Google 개발한 이미지 포맷

 

완벽한 손실/비손실 압축 지원

GIF 같은 애니메이션 지원

Alpha Channel 지원 (손실, 비손실 모두)

하위호환성 확인 필요 (IE 지원 불가능)

하위호환성: 예전 버전의 환경에서 특정한 기술들이 호환이 가능한가

 

 

2. 벡터 (Vector)

, , 면의 위치(좌표), 색상

수학적 정보의 형태(Shape) 이루어진 이미지

 

단순한 구조의 아이콘, 형태는 하나지만 크기가 다양하게 사용되는 로고,

Material Image 라고 불리는 플랫한 이미지들이 벡터 이미지로 만들고 관리하기에 용이함

 

Material Design(머터리얼 디자인) :

고품질 디지털 경험을 구축할 있도록 Google 에서 만든 디자인 시스템(방식)

 

장점: 확대/축소 품질이 저하되지 않고 용량의 변화가 없음

단점: 정교한 이미지(인물, 풍경 사진 ) 표현하기 어려움

.svg

 

(1). SVG

마크업 언어(HTML, XML) 기반의 벡터 그래픽을 표현하는 포맷

 

해상도의 영향에서 자유로움:

확대/축소해도 이미지의 정보가 변경되지 않으면 해상도에 영향을 받지 않고 만들어낼 있음.

이미지의 크기를 자주 변경해야 하는 아이콘, 로고

해상도, 이미지의 크기가 자주 변경되는 환경에서 사용

CSS JS 제어 가능

파일 코드 삽입 가능

// Google 로고의 SVG 코드
<svg xmlns="http://www.w3.org/2000/svg" width="272" height="92">
  <path fill="#EA4335" d="M115.75 47.18c0 12.77-9.99 22.18-22.25
  9.32 22.25 22.18zm-9.74 0c0-7.98-5.79-13.44-12.51-13.44S80.99...">
</svg>

 

SVG 이미지의 복잡한 코드를 CSS JS 디테일하게 제어하기는 매우 어렵기 때문에,

색상이나 일부 영역의 추가/제거 혹은 간단한 형태 생성 정도로 가볍게 사용한다.