이 이미지를 확인하십시오 :
Chrome 및 Firefox에서는 배로 표시됩니다. 이제 저장하고 바탕 화면에 저장된 것을보십시오. 또한 Safari 또는 Internet Explorer 에서보십시오 . 사과로 표시됩니다!
이미지를 클릭하고 이동해보십시오. 사과가 나타납니다.
왜 이런 일이 발생합니까?
이 이미지를 확인하십시오 :
Chrome 및 Firefox에서는 배로 표시됩니다. 이제 저장하고 바탕 화면에 저장된 것을보십시오. 또한 Safari 또는 Internet Explorer 에서보십시오 . 사과로 표시됩니다!
이미지를 클릭하고 이동해보십시오. 사과가 나타납니다.
왜 이런 일이 발생합니까?
답변:
일부 브라우저는 이미지 파일에 지정된대로 감마 보정을 수행하기 때문에 발생합니다.
수정되지 않은 이미지는 다음과 같습니다. 사과 그림의 "백색"픽셀에는 배의 그림이 포함되어 있으며 훨씬 높은 강도, 즉 매우 밝게 저장됩니다.
감마 보정 이미지는 다음과 같습니다. 배 사진의 "검은 색"픽셀은 사과의 사진을 포함하고 있으며, 보통의 강도로 저장되지만 감마 보정을 통해 거의 검은 색으로 축소됩니다.
내 화면에서 첫 번째 이미지의 흰색 픽셀 중 배를 희미하게 볼 수 있지만 두 번째 이미지에서는 사과가 주변의 검은 픽셀과 구별 할 수 없습니다.
(보정되지 않은 이미지는 훨씬 작은 범위의 색상 채널을 사용하기 때문에 감마 보정 된 배에 약간의 색상 밴딩이 나타날 수도 있습니다.)
PNG 이미지 파일에는 파일 감마 값 0.02를 지정하는 gAMA 청크가 포함되어 있습니다. 감마 보정없이 표시하면 뷰어는 "흰색"픽셀이 산재 된 사과를 볼 수 있으며 실제로는 원래의 강도 (강도)의 배입니다.
감마 보정과 함께 표시하면 뷰어에 실제로는 훨씬 낮은 감마 값으로 렌더링 된 사과 인 "검은 색"픽셀이있는 색상으로 보정 된 배가 나타납니다.
배를 표시하는 브라우저는 이미지에서 감마 보정을 수행하는 반면 사과를 표시하는 브라우저는 감마 보정을 수행하지 않고 리터럴 색상 값으로 표시합니다.
이것은 의견에 비해 너무 많았지 만 도움이되기를 바랍니다.
따라서이 문제는 브라우저가 감마 정보를 PNG로 해석하는 방식을 처리한다고 확신합니다. 꽤 재미있는 문제이며 처음에는 감마 정보의 모호성을 처리합니다.
PNG 감마“수정의 슬픈 이야기” 기사 는 문제, 치료법 및 기타 재미있는 사실에 대한 아주 좋은 요약을 제공합니다.
이를 통해 실제로 이미지에서 감마 정보를 제거 할 수 있습니다. pngcrush
pngcrush -rem gAMA -rem cHRM -rem iCCP -rem sRGB pear.png apple.png
감마 정보와 함께 :
나는 이것이 실제로 "답"이라고 말하지는 않겠지 만, 아마도 올바른 방향 일 것입니다. 색상 프로파일에 대해 많은 지식을 가진 사람이 더 공식적인 답변을 얻을 것이라고 확신합니다.
infile
과 outfile
: 예 pngcrush -rem gAMA -rem cHRM -rem iCCP -rem sRGB infile.png outfile.png
. 더 많은 정보 : hsivonen.fi/png-gamma
이미지 의 감마 ( γ ) 변경은 감마 값을 다음과 같이 수정합니다.
(R ', G', B ') = ( Rγ , Gγ , Bγ )
초기 픽셀 값 (R, G, B)에 감마 기능을 적용한 후 화면에 표시되는 출력 픽셀 색상 (R ', G', B ')을 제공합니다 (R과 G, B는 0과 1 사이에서 정규화 됨) ).
이제 빨간색 채널을 예로 들어 보겠습니다.
경우 R = R0 + R1 구하여 것이다
R '= (R0 + R1) γ = R0 γ * (1 + R1 / R0) γ을
R0가 R1보다 훨씬 더 큰 경우, 당신은
(1 + R1 / R0) γ ≈ 1 + γ R1 / R0 ,
그래서 R '≈ R0의 γ + γ R1 * R0 γ-1
이것은 0에 가까운 감마의 경우 R0γ가 우세 하다는 것을 의미합니다 . γ = 1의 경우
R '≈ R0 + R1
큰 감마의 경우 두 번째 용어가 지배적이므로 R0 = 배의 빨간색 구성 요소 및 R1 = 사과의 빨간색 구성 요소를 R1보다 훨씬 크게 R1보다 크게 설정하여 감마를 변경할 때 원하는 변형을 얻을 수 있습니다. 모니터 (또는 각 소프트웨어가 사용하는 특정 감마 곡선).