php – 我可以编程确定一个PNG是否动画?
我有PNG(以及JPEG)图像上传到我的网站.
它们应该是静态的(即一个框架). 有这样的事情就是APNG. (它将在Firefox中动画). 根据Wikipedia article …
这是否意味着不可能确定PNG是否用代码动画? 如果可以的话,请指点我明智的方向(GD,ImageMagick)吗?
APNG图像被设计为“伪装”为不支持它们的读者的PNG.也就是说,如果读者不支持它们,它只会认为它是一个普通的PNG文件,只显示第一帧.这意味着它们具有与PNG(image / png)相同的MIME类型,它们具有相同的魔术数字(89 50 4e 47 0d 0a 1a 0a),通常它们以相同的扩展名保存(尽管不是真的检查文件类型的好方法).
那么,你如何区分他们呢? 这段代码(从http://foone.org/apng/identify_apng.php开始)将会做到: <?php # Identifies APNGs # Written by Coda,functionified by Foone/Popcorn Mariachi#!9i78bPeIxI # This code is in the public domain # identify_apng returns: # true if the file is an APNG # false if it is any other sort of file (it is not checked for PNG validity) # takes on argument,a filename. function identify_apng($filename) { $img_bytes = file_get_contents($filename); if ($img_bytes) { if(strpos(substr($img_bytes,strpos($img_bytes,'IDAT')),'acTL')!==false) { return true; } } return false; } ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |