作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含数百个 PNG 文件的文件夹,我想编写一个脚本来使它们全部交错。现在,随着时间的推移,图像将被添加到该文件夹中,并且处理文件夹中的所有图像(无论是隔行扫描还是逐行扫描)似乎有点傻。
所以我想知道,有没有办法使用 PHP 来检测图像是否隔行扫描,我可以选择是否处理它。
谢谢堆!
最佳答案
您还可以采用低级方法 - 无需加载完整图像,或使用额外的工具或库。如果我们查看 spec ,我们会看到“隔行扫描”标志只是 iHDR 块的第 13 个字节,因此我们必须跳过 8 bytes from the signature ,加上 iHDR 块标识符的 8 个字节+长度,加上块的 12 个字节。 .. 这将跳过 28 个字节,如果下一个字节为 0,则图像不隔行扫描。
实现只需要4行代码:
function isInterlaced( $filename ) {
$handle = fopen($filename, "r");
$contents = fread($handle, 32);
fclose($handle);
return( ord($contents[28]) != 0 );
}
关于PHP 测试图像是否隔行扫描,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14235600/
尝试在 HAML 中制作表格,我有以下内容: %table %tbody %tr %th{:rowspan => 2} Name %th{:class => "le
我是一名优秀的程序员,十分优秀!