본문 바로가기

CS Fundamental

[CS Fundamental] PNG 포맷에서 투명을 어떻게 표현하나요?

1. PNG 포맷에서 투명을 어떻게 표현하나요?
    a. 하얀색 바탕위에 반투명 빨간색을 올리면 무슨 색이 되나요?
    b. 위 대답을 수식으로 일반화할 수 있을까요?
 
PNG 포맷은 알파 채널을 사용하여 투명도를 표현합니다15. 알파 채널은 각 픽셀의 투명도를 0(완전 투명)부터 255(완전 불투명)까지의 값으로 나타냅니다
a. 하얀색 바탕 위에 반투명 빨간색을 올리면 연한 분홍색이 됩니다. 이는 알파 블렌딩이라는 과정을 통해 이루어집니다
b. 알파 블렌딩의 일반화된 수식은 다음과 같습니다:
Cresult = α Cforeground + (1−α)Cbackground

 

여기서 Cresult는 최종 색상, α α는 전경색의 알파 값 (0에서 1 사이)

C foreground는 전경색 (여기서는 빨간색)
C background는 배경색 (여기서는 하얀색)
예를 들어, 50% 투명한 빨간색 (RGB: 255, 0, 0, 알파: 0.5)을 하얀색 배경 (RGB: 255, 255, 255) 위에 올리면:
결과적으로 연한 분홍색 (RGB: 255, 128, 128)이 됩니다