배경으로 만 보이는 보이지 않는 PNG 이미지 레이어


48

나는 최근에 이상한 특성을 가진 매우 독특한 이미지를 발견했습니다. 이미지는 PNG 형식이며 투명한 배경의 간단한 새를 보여줍니다. 내 친구는 이미지를 저장하고 배경으로 설정하기 위해 간단한 지침으로 이미지를 보냈습니다.

갈매기 만있는 원본 이미지

이미지를 내 배경으로 설정하면 두 번째 이미지가 실제로 갈매기가 무기 위에 서 있음을 보여줍니다.

비밀 레이어와 배경 이미지?

이것은 처음에 이미지의 본질과 그러한 이미지를 만드는 방법에 대해 매우 궁금했습니다. Photoshop에서 이미지를 열었지만 평소에는 아무것도 표시되지 않습니다. 이미지는 여전히 투명한 갈매기와 동일합니다. 보이지 않는 레이어 나 마스크는 없습니다. Photoshop에서 이미지를 확인한 후 바탕 화면 배경으로 설정할 때 Windows가 파일을 변경했다고 생각했습니다 %AppData%\Microsoft\Windows\Themes. 이미지를 탐색 한 후 동일한 것으로 보입니다.

Photoshop에서 보거나 편집 할 때와 비교하여 Windows 바탕 화면 배경으로 설정 한 경우이 이미지에 별도의 숨겨진 레이어 나 완전히 다른 이미지가 표시되는 이유는 무엇입니까?


6
XnView로 열고 "알파 채널 제거"를 클릭하면 전체 이미지가 표시됩니다. 윈도우 7 투명 잃고, JPEG로 배경 변환 answers.microsoft.com/en-us/windows/forum/windows_7-desktop/...을
leonbloy

답변:


59

Smashing Magazine 의이 기사에서 이것이 "더러운 투명성"이라고 생각합니다 .

기본적으로 투명 PNG의 모든 색상은 RGBA 값으로 설명 할 수 있습니다. 여기서 RGB는 빨강, 녹색 및 파랑 채널을 나타내고 A는 알파를 나타냅니다. "보이지 않는"색상은 RGB 값 + 0 알파를 가질 수 있습니다. 즉, 색상은 원래 정보를 유지하지만 알파가 0으로 설정되어 투명하게 렌더링됩니다.

알파를 사용할 때 RGB 값을 저장하고 싶은 이유는 무엇입니까? 따라서 투명한 배경 GIF의 가장자리가 고르지 않은 것처럼 부드러운 가장자리와 투명한 색상을 얻을 수 있습니다. PNG의 투명도는 0에서 255까지이며 GIF의 경우 100 % 투명하거나 불투명합니다. 투명도 50 %로 무언가를 렌더링하려면 RGB 값을 알아야하므로 값이 저장됩니다. 대부분의 이미지 편집기 소프트웨어는 완전히 투명한 색상을 저장할 때 RGB 정보를 버립니다 (Photoshop 포함).

CC 버전을 말할 수는 없지만 이전 Photoshop 버전에서 "보이지 않는"색상을 보려면 플러그인이 필요합니다. Photofreebies 또는 SuperPNG 중 하나를 선택하십시오 . SuperPNG는 더 최근에 덜 어지럽게 보입니다.

트릭이 작동하는 이유는 무엇입니까? 벽지 뒤에는 아무것도 보이지 않기 때문에 불투명해야합니다. 내 생각에 Windows는 알파 채널 정보를 버리고 프로세스에서 숨겨진 RGB 값을 나타냅니다.


6
난 당신이 나에게 한 번도 없었던 투명도 레이어 마스크 (알파 채널)를 제거하여 당신이 말한 것을 시도했습니다-그 효과를 복제 할 수있었습니다. 이것은 배경을 만드는 매우 멋진 방법입니다. 조만간 조업 기능을 탐색 할 것입니다. : D
Callum

15
나는 이것이 Windows의 버그라고 말합니다. 픽셀의 알파 값이 0이면 픽셀이 투명하며 RGB 값은 중요하지 않습니다. Windows는 투명도를 포함하는 이미지 (예 : 흰색 배경)를 렌더링해야합니다.
Paul

5
@ 폴. 동의합니다. 바탕 화면에 대해 정의 된 배경색이 아니라면 이미지가 늘어나거나 바둑판 식으로 표시되지 않아 바탕 화면을 채우기에는 너무 작은 색상과 동일합니다. 은유는 벽지가 단색의 표면이나 벽 위에 있다는 것입니다.
trlkly 2016 년

3
어도비 포토샵이 이것을 달성하기 위해 플러그인을 필요로한다면 매우 놀랐을 것입니다. 김프와 비슷한 컨트롤을 제공 할 것으로 기대합니다. 투명 부품을 보이게하려면).
Michael Schumacher

2
@MichaelSchumacher 특정 영역에서 Photoshop이 부족한 방법에 놀랄 것입니다. 공정하게 말하면 현재 CC 버전에서 이미 지원하는지 알 수 없습니다. 나는 영구적으로 라이센스가 부여 된 PS를 고수하기로 결정했다.
Rhaenys 2016 년

13

Nihal의 답변에 추가하기 위해 이것은 김프의 "안티 지우기"브러시를 사용하여 재현 할 수 있습니다. 이미지를 지원하는 형식을 사용하는 경우 지우기 브러쉬는 알파 채널을 추가하거나 제거 할 수 있습니다 (지우기와 지우기 지우기를 바꾸려면 Alt 키를 누르고 있습니다).

Krita의 경우 다음을 수행 할 수 있습니다 Layer > Split Alpha > Alpha into Mask.. 그런 다음 방금 만든 Transparency Mask 1 채널을 숨기거나 삭제할 수 있으며 전체 이미지가 표시됩니다.

Windows 배경에는 그 뒤에 아무것도있을 수 없으므로 투명도를 제거하고 이미지가없는 이미지를 표시하는 것일 수 있습니다 (외형에서 32 비트 이미지에서 24 비트 이미지는 24 비트로 빠릅니다.).


3

설명의 한 가지 점 : 이것은 버그가 아니며 png 사양에서 동작이 지정되어 있습니다. 특히, 스펙은 시청자 또는 변환기가 투명성을 이해하지 못하거나 투명성이 컨텍스트에 적합하지 않거나 알파 채널을 사용하는 경우 무시 될 수 있다고 명시하고 있습니다. 또한이 사양에서는 알파 채널이 무시되는 경우 이미지가 유용하도록 모든 이미지 생성기에 투명한 색상을 설정해야합니다. (내 역설, 사양을 읽은 지 몇 년이 지났습니다.)


1
사양에서 관련 구절을 찾아보십시오. w3.org/TR/PNG 에서 찾을 수 없기 때문 입니다. 감사!
MarnixKlooster ReinstateMonica
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.