어플을 개발하면서 리소스는 빠질 수 없는 부분이죠.

특히나 외형적으로 꾸미려면 이미지파일은 필수요소이죠.

 

지금껏 개발일을 해오면서 문득 궁금해진게 있습니다.

컴파일시에 이미지에 대한 데이터처리는 어떻게 이루어지는가..?

 

제가 컴공출신이 아니라 잘 모르는걸수도 있습니다만..(듣도보도못한 게임공학출신;;)

혼자 답을 얻어내려 해도 어려운 부분이네요..

가령 1000픽셀 x 1000픽셀의 이미지가 있고  크기가 1MB 라 치면

 

1000x1000 만큼의 공간이 생성되어서 각 픽셀마다 들어있는

색상값을 바이트단위로 읽어들여서 (뭐 0x00E2... 이런식이겠죠)

배열로 저장하여 하나의 파일로 나타낸다. 뭐 제가 알고있는 지식은 이럽니다.

 

그럼 이 논리대로라면 이 이미지파일을 반으로 줄였을 때

즉 500픽셀 x 500픽셀로 변환하였을 때 당연히 크기도 줄어들겠죠

1000x1000의 공간을 반으로 줄였으니까요..

 

근데 흔히 리샘플링이라는것을 하게 되면 왜 용량이 줄어드는지

잘 이해가 안됩니다. 대표적으로 포토샵에서 사용하는

품질, 디더링, 색상비트값 등을 변경하여 같은 크기로 저장하면 크기가 줄어든다는 것

 

같은 1000x1000 공간을 갖고 있는 이미지인데 왜 크기가 줄어드는걸까요

각 픽셀에는 똑같이 색상값을 가지고 있을텐데요..

 

지금껏 아무렇지 않게 사용하다가 갑자기 궁금해져서 올려봅니다.

속 시원하게 답변해주실 분?