如何解决使用不同的方法获得图像 dpi 的不同结果
我只想允许那些 dpi 为 72 的图像,因为我比较了两个结果。
例如
<?PHP
$imagedpi = get_dpi($imagename);
if($imagedpi[0] ==72 && $imagedpi[1]==72){
//success
}else{
//fail
}
?>
当我尝试使用 linux 命令时,我的结果低于输出
<?PHP
function get_dpi($imagename){
system('identify -units PixelsPerInch -format "%x %y" '.$imagename);
//after processing it is giving us output as array(x,y)
return array(x,y)
}
?>
它的输出是
Array
(
[0] => 72
[1] => 72
)
<?PHP
function get_dpi($imagename){
$image = imagecreatefrompng($imagename);
$imageresolution = imageresolution($image);
return $imageresolution;
}
?>
它的输出是
Array
(
[0] => 96
[1] => 96
)
我想使用 linux 命令(identify),因为在生产服务器上我们有 PHP 5.6,其中 imagecreatefrompng 函数不起作用,但我很困惑为什么识别命令给我的输出为 72,72 而 PHP 代码给我输出为 96 相同的图像。
我使用的是安装了 PHP 7.4.19 的 centos7 操作系统。
我不确定识别命令的行为是给我缓存输出还是什么?
并不是说它们对每个图像的行为都不同,而是对于我已转换为特定 dpi 的图像,这两种方法都得到相同的结果,但是如果我选择了任何随机图像,那么有时我会得到这种行为。
感谢任何帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。