2011-01-16 5 views
2

가능한 중복은 :
Can I programatically determine if a PNG is animated?이미지가 PNG 또는 APNG 형식인지 어떻게 확인할 수 있습니까?

APNG는 PNG와 역 호환됩니다. 16 진수 편집기에서 apng 및 png 파일을 열었으며 처음 몇 바이트는 동일하게 보입니다. 따라서 사용자가 이러한 형식 중 하나를 업로드하는 경우 형식이 실제로 무엇인지 어떻게 알 수 있습니까? 나는 이것이 apng을 차단하는 일부 사이트에서 이루어진 것을 보아왔다.

ImageMagick 라이브러리를 사용하면 쉽지만 이미지 처리 라이브러리 (학습 목적)를 사용하지 않고 검색을 수행하면 어떻게 될까요? 파일이 apng인지 알려주는 특정 바이트를 찾을 수 있습니까?

모든 언어의 솔루션을 사용해주십시오.

+1

가능한 복제본 [PNG가 애니메이션으로 표시되는지 프로그래밍 방식으로 결정할 수 있습니까?] (http://stackoverflow.com/questions/4525152/can-i-programatically-determine-if-a-png-is-animated), 주어진 해결책은 PHP에 있습니다. – BoltClock

답변

0

APNG 및 PNG 파일의 '처음 몇 바이트'제어는 쉽게 우회 할 수 있습니다. 따라서이 방법은 안전하지 않습니다. 사용자는 파일의 16 진수 코드를 변경하고이 컨트롤을 전달할 수 있습니다. http://en.wikipedia.org/wiki/Apng에서

1

는 :

사용자와 PNG와 MNG 형식의 관리자들 중

, APNG는 잘받지이었다. 특히 PNG는 단일 이미지 형식 [2]으로 인식되었습니다. APNG는 PNG 보조 청크에서 후속 프레임을 숨김으로써 APNG 비 인식 응용 프로그램이이를 무시할 수있는 방식으로 을 제외하지만 소프트웨어를 구분할 수있는 형식이 변경되지 않았습니다. [이탤릭체 광산]

[2] "PNG (Portable Network Graphics) Specification, Version 1.1#8.4. Multiple-image extension"

0

대부분의 Unix 플랫폼에 이미 설치된 libmagic을 사용할 수 있습니다.

관련 문제