2016-09-23 6 views
-2

프로그래밍 방식으로 PNG의 색상을 변경하는 방법을 찾고 있습니다. 지금까지 내가 보았던 모든 해결책은 getpixel을 사용하여 픽셀 단위로 진행합니다. 사실, 나는 단지 투명한 배경을 가진 이미지의 전경색을 바꾸고 싶다. 이것이 가능한가? 특정 색상의 모든 픽셀에 대해 쉽게 변경이 가능한 팔레트가 있습니까?png 이미지의 색상 변경

답변

1

팔레트의 존재 여부는 PNG colortype에 따라 다릅니다. ColorType의 3 인 경우 거기 PLTE 청크에 포함 된 팔레트는, 당신은 프로그램과 같이 수행하여 변경할 수 있습니다 다음 PLTE 청크

  • 변화 새로운 배경에 전경색에 대한 항목

    1. 추출물 이미지 파일
    2. 해당 색상을 투명하게하기 위해 TRNS 청크를 추가로 PLTE 청크를 다시 삽입
    3. 가 PLTE 청크
    4. 의 CRC 체크섬을 다시 계산 색상.

    colortype이 0 또는 2이면 tRNS 청크를 추가하여 전경색을 투명하게 만들 수 있지만 해당 픽셀의 기본 색상을 새로운 배경색으로 변경하려면 작업을 수행해야합니다 이미 관찰 한대로 픽셀 단위로 표시합니다.

    전경색을 변경할 필요가 없습니다. 투명하게 만들면 RGB 구성 요소에 포함 된 내용이 실제로 중요하지 않으므로 전경색을 변경할 필요가 없습니다.