2012-05-20 5 views
0

나는이 질문에 대한 답과 매우 유사한 (동일한 것을합니다) 코드를 사용하고 있습니다 : Crop whitespace from image in PHP. 이 정확한 코드를 사용해도 동일한 효과를 보았습니다.PHP에서 PNG 주위 공백을 자르십시오.

PNG 배경이 참으로 흰색 (투명하지 않더라도)으로 작동하지 않습니다 (공백을 제거하지 않음).). 출력은 imagepng으로 보낼 수 있지만 이미지 소스가 imagecreatefrompng 인 경우 아무 것도 트리밍되지 않습니다.

GD를 사용하여 PNG에서 공백을 제거하는 신뢰할 수있는 방법이 있습니까? 아니면 흰색을 투명하게 변환하고 대신 그 색상을 다듬는 방법일까요? 아니면, 다른 해결책은 ...?

답변

0

이것은 완전히 테스트되지 않은 추측입니다. 그러나 알파 투명도가 문제의 원인이라고 생각합니다. 당신이 언급 한 대답은 약간의 작업이 필요할 것입니다.

아마도 흰색 캔버스 위에 이미지를 놓으려면 imagecopymerge()을 사용해 보시고 대답에 언급 된 단계를 수행하십시오.

+0

좋은 제안이지만, 불행히도 효과가 없습니다. – k3davis

+0

실제로이 작업을 수행했습니다. 코드에 별도의 오류가 발생했습니다. 그것은 가장 우아하고 자원 친화적 인 솔루션처럼 보이지 않지만 작동합니다. – k3davis

+0

@ k3davis 그래, GD는 도서관 중에서 가장 우아하지 않습니다. (필자는 과거에이 기능을 사용했을 때 외관을 뒤덮었 고, 각 이미지 유형에 대해 별도의 클래스를 사용하여 불일치를 해결했습니다. 이렇게하면'$ image-> cropWhitespace()'와 같이 알파 투명도가 있는지 걱정할 필요없이 할 수 있습니다. –

관련 문제