Linux에서 PNG 투명 배경색을 알아보세요.

Linux에서 PNG 투명 배경색을 알아보세요.

PNG 파일에는 투명 픽셀에 대한 배경색 정보가 포함되어 있는 것으로 보입니다. 이는 해당 이미지를 잘못된 설정의 텍스처로 사용할 때 눈에 띄게 나타나는 경우가 있습니다.

Linux(이상적으로는 명령줄)에서 PNG 파일의 투명 픽셀 색상이 무엇인지 확인하는 방법은 무엇입니까?

답변1

배경색은 PNG "bKGD" 청크를 통해 전달됩니다.

명령줄에서 "pngcheck -v"를 사용할 수 있습니다. 다음에서 pngcheck를 다운로드하여 설치하세요.

http://www.libpng.org/pub/png/apps/pngcheck.html

그런 다음 입력

pngcheck -v file.png

PNG 파일에 bKGD 청크가 있는 경우 pngcheck의 출력에는 다음과 같은 내용이 포함됩니다.

오프셋 0x000a0, 길이 6의 bKGD 청크 ​​빨간색 = 0x00e0, 녹색 = 0x00e0, 파란색 = 0x0080

아마도 ImageMagick(버전 6.6.9 이상)이 이미 있을 것이므로 다음을 입력하여 bKGD 청크 ​​정보와 다른 많은 정보를 얻을 수도 있습니다.

identify -verbose file.png

그리고 찾아보세요

배경색 : srgba(224,224,128,1)

png:bKGD: 청크가 발견되었습니다(위의 배경색 참조).

"배경색"만 나타나고 "png:bKGD:..."가 나타나지 않으면 식별은 ImageMagick의 기본 배경색을 보고하며 PNG 파일에 bKGD 청크가 없습니다.

답변2

PNG 사양(링크)는 투명성 정보가 저장되는 tRNS 청크를 설명합니다.

소프트웨어 라이브러리libpng투명도 정보를 포함하여 PNG 파일을 읽고 쓸 수 있습니다. 구체적으로 다음 기능을 찾아보세요.

png_get_tRNS(png_ptr, info_ptr, &trans_alpha, &num_trans, &trans_color)

관련 정보