김프를 사용하면 색상을“삭제”할 수 있습니까?


9

현재 iOS 응용 프로그램에서 작업 중이며 표준 경고 대화 상자 창을 리버스 엔지니어링하려고합니다. 배경이 사용하는 알파 값이 검은 색과 흰색으로 색을 샘플링하는 것입니다.

이 정보가 주어지면 김프를 사용하면 배경색을 "지우기"만해도 원래의 혼합되지 않은 경고 배경 만 남게됩니까?

실행중인 앱의 스크린 샷으로 이미지 형식의 경고보기 만 있습니다.

답변:


8

네 가능합니다. Wikimedia Commons ( ed_g2s , CC-By-SA 3.0 으로 라이센스) 의이 이미지를 예로 사용하여 수행 방법을 간략하게 설명하겠습니다 .

CC-By-SA 3.0으로 라이센스가 부여 된 ed_g2s의 PNG 투명도 데모 이미지

  1. 레이어로 열기 ...를 사용하여 동일한 이미지의 레이어로 흑백 배경 버전을 엽니 다 . 또는 둘 다 열고 다른 하나에 복사하여 붙여 넣기 만하면됩니다. 아직 흰색 레이어가 아닌 경우 흰색 레이어를 검은 색 레이어 위로 이동하십시오. 두 레이어는 다음과 같아야합니다.

    검은 배경의 데모 이미지 흰색 배경으로 데모 이미지

  2. 레이어의 차이점을 살펴보십시오. 검은 색 레이어를 복제하고 (나중에 필요함) 흰색 레이어의 레이어 모드를 "차이"로 변경 한 다음 병합하십시오. 결과를 반전시킵니다. 원본 이미지의 알파 채널을 제공합니다.

    재구성 된 알파 채널

    편집 : 배경이 흑백이 아닌 경우 반전 된 차이 레이어에는 검정색 배경이 없습니다. 이 문제를 해결하려면 먼저 레이어의 채도를 낮추고 (가장 대비가 좋은 모드를 사용) 색상 → 자동 → 정규화 를 사용하여 배경을 검은 색으로 만듭니다. 대신 채널 믹서 를 사용할 수도 있지만 사용하기가 조금 더 까다 롭습니다.

    (다시 작성 하는 알파 채널에 불투명도가 100 % 이상인 경우 위의 정규화가 수행됩니다. 다시 작성하는 이미지가 반투명 인 경우 색상 → 레벨 ... 을 사용하여 대신 검은 점만 설정할 수 있습니다 . )

    아직없는 경우 다음 단계를 위해 검정색 배경의 이미지 버전을 만들어야합니다. 이렇게하려면 다음과 같은 추가 단계를 수행하십시오.

    • 배경이 어두운 원본 버전을 선택하십시오. 배경색으로 채워진 새 레이어를 만듭니다.
    • 차이 레이어를 복제하고 흰색 배경을 갖도록 다시 반전시킵니다. 방금 만든 새 단색 색상 위에이 레이어를 놓고 레이어 모드를 "곱하기"로 설정하고 병합합니다.
    • 마지막으로 결과 레이어의 모드를 "빼기"로 변경하고 원래 이미지가있는 레이어로 병합합니다. 원래 배경을 빼면 이미지가 검정색 배경으로 유지됩니다.
  3. 사전 곱셈 된 알파가 포함 된 이미지 형식을 사용하는 경우 이제 거의 완료되었습니다. 그러나 그렇지 않기 때문에 여전히 RGB 채널을 다시 곱해야합니다. 이렇게하려면 이전 단계에서 만든 알파 레이어를 복제하거나 클립 보드에 복사하십시오. 레이어 모드를 "나누기"로 설정하고 2 단계 전에 복제 한 검은 색 배경 레이어와 병합하십시오. 결과 다음과 같이 보일 것입니다 (차이점을 보려면 원본 검정색 배경 버전과 비교).

    다중 곱셈 RGB 채널

  4. 이제 결과 레이어에 레이어 마스크를 추가하고 마스크를 선택한 다음 알파 레이어를 붙여 넣습니다. 결과는 이제 원본 투명 이미지와 다소 비슷하게 보입니다. 마지막으로 마스크를 적절한 알파 채널로 바꾸려면 적용 할 수 있습니다 (그러나 김프의 PNG 내보내기는 그렇지 않은 경우에도 그렇게합니다). 그리고 당신은 갈 것입니다 – 하나의 재구성 된 투명 PNG가 준비되었습니다 :

    투명도가있는 재구성 된 이미지

물론이 기술을 사용하려면 순수한 검은 색과 순수한 흰색 배경 에 이미지 버전이 있어야합니다 . 배경이 약간 벗어난 경우에도 비슷한 방법을 사용할 수 있지만 추가 색상 조정이 필요할 수 있으며 결과가 완벽하지 않을 수 있습니다. ( 편집 : 위의 2 단계 추가 사항을 참조하십시오. 수정 된 지침은 단색 인 경우 모든 색상의 배경에서 작동해야합니다.)


추신. 김프에는 "색상 지우기"기능이 있습니다 (버킷 채우기 도구의 블렌드 모드 또는 전체 이미지의 경우 컬러에서 알파로 ... ) . 이미지 버전이 하나 뿐인 경우 투명도재구성 하는 데 유용합니다. 단색 배경에. 그러나 신중하게 사용하지 않으면 원하는 것보다 다소 투명한 출력을 생성하는 경향 이 있습니다 .

추신. 원본 이미지와 재구성 된 이미지를 매우 신중하게 비교하면 이미지가 정확히 동일 하지 않다는 것을 수 있습니다. 일부 색상 값은 1/256 정도 줄어 듭니다. 이것은 김프의 "나누기"레이어 모드의 작동 방식 때문입니다. 알파 곱셈의 실제 역수를 계산하는 대신 output = (255 × input ) / layer 이며 실제로 output = (256 × input ) / ( layer+ 1). 표면적으로 0으로 나누지 않도록이 불일치가 발생하면 일부 색상이 원래와 약간 다른 값으로 반올림 될 수 있습니다. 아아, 김프 패치, 우리가 원하는 방식으로 플러그인을 작성하거나 다른 프로그램을 사용하는 것 외에는이 문제를 해결할 방법이 없습니다. 그러나 다행히도 실제로 사람의 눈으로 알아볼 수있는 색상 차이는 거의 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.