-
pixel 과 points, dp의 관계 그리고 UIImageiOS 2024. 5. 10. 01:05
픽셀이란?
픽셀 (Pixel)은 가장 작은 단위의 디스플레이 요소입니다. 흔히 "화소"라고도 불립니다.
픽셀은 RGB 색상을 조합해서 색을 표현합니다. 즉 Red, Green, Blue 에 대한 값을 저장합니다.
각 색을 채널이라고 한다면, 한 채널은 0~255까지의 값을 가질 수 있어서 2^8개의 값을 표현할 수 있습니다.
따라서 한 픽셀은 256 x 256 x 256 = 16,777,216 가지의 색상을 생성할 수 있다는 걸 의미합니다.
이를 트루 컬러 시스템 (True Color system) 으로 부릅니다.해상도 = 가로 x 세로 픽셀의 총 개수
이 픽셀의 가로 x 세로의 총 개수가 해상도가 되며, 당연히 더 높은 해상도는 더 선명한 이미지를 제공합니다.
밀도
요즘은 높은 해상도의 사진, 영상 등을 쉽게 볼 수 있죠. 높은 이미지는 다양한 화면에 표시될 수 있습니다.
어떤 화면의 동일 공간에서 픽셀이 얼마나 사용되는지에 따라 이미지의 화질은 달라질 것입니다.
밀도는 동일 공간 안에 픽셀 수가 얼마나 되는지를 나타내는 정도입니다.
화면 단위가 인치라면 인치당 픽셀 수 PPI (Pixels Per Inch)
화면 단위가 점이라면 점 당 픽셀수 DPI(Dots Per Inch)가 될 것입니다.
아이폰의 Point, 안드로이드의 DP
아이폰에서는 이런 밀도 단위로 Point를 사용합니다.
이를 통해 다양한 해상도와 스크린 크기에 대해 그래픽 요소가 일관되게 보이도록 도와준다고 합니다.
1 Point는 디스플레이 해상도에 따라 여러 픽셀이 될 수 있습니다.
안드로이드에서는 DP (Density-independent Pixel)라는 단위를 사용한다고 합니다.
Density-independent. '밀도에 독립적이다' 라는 이름에서 유추해볼 수 있듯이 디스플레이 밀도에 상관없이 동일한 크기를 유지하기 위해 사용되는 단위라고 하네요. 화면 밀도에 따라 1dp는 서로 다른 픽셀 수에 해당할 수 있다고 합니다.
이를 DPI에 기반해 변환해서, 기본 밀도에서는 1dp = 1px로 간주하지만 더 높은 밀도에서는 1dp가 여러 픽셀에 해당할 수 있다고 하네요.
( feat. GPT. 정확하지 않을 수 있음 )
뭐 결국 둘 다 목적은 여러 화면에서도 동일하게 보이게 해주려고 노력하고 있고, 그에 따라 고유의 독립적인 단위를 사용한다.
는 의미 정도로 생각하면 될 것 같네요.
따라서 아이폰 개발에서 UIImage의 size와 같은 개념은 point를 의미합니다. 이와 같은 단위를 사용할 때는 이게 픽셀 수와 동일하지 않을 수 있다는 걸 항상 염두에 두고 있어야 되겠습니다.'iOS' 카테고리의 다른 글
[iOS] OSSignpost > 특정 작업의 duration 측정하기 (0) 2024.07.01 이미지의 크기를 줄인다. 리사이징 ? 압축 ? 해상도? 품질? (0) 2024.05.10 SwiftLint SPM으로 설치하기 (using Swift Package Build Tool Plugin) (0) 2024.03.22 swift concurrency 사용해 이미지 권한 얻기 (0) 2023.11.29 Xcode 15 Jump to define 단축키 변경 (0) 2023.10.31