ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • pixel 과 points, dp의 관계 그리고 UIImage
    iOS 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를 의미합니다. 이와 같은 단위를 사용할 때는 이게 픽셀 수와 동일하지 않을 수 있다는 걸 항상 염두에 두고 있어야 되겠습니다.

    댓글

Designed by Tistory.