我正在搜索可以帮助我在PHP中获取Image DPI的代码。
任何人都可以看一下吗?
提前致谢。
答案 0 :(得分:3)
您可以为此寻找一些图像库。例如:Imagick,GD图书馆......
(OR)
您可以使用以下功能
function get_dpi($filename){
$a = fopen($filename,'r');
$string = fread($a,20);
fclose($a);
$data = bin2hex(substr($string,14,4));
$x = substr($data,0,4);
$y = substr($data,0,4);
return array(hexdec($x),hexdec($y));
}
答案 1 :(得分:2)
我相信做自定义php不会转换所有类型的图片。
安装 Imagick 的最佳方式:
$image = new Imagick($filename);
$resolutions = $image->getImageResolution();
答案 2 :(得分:2)
使用ImageMagick
function getDPIImageMagick($filename){
$cmd = 'identify -quiet -format "%x" '.$filename;
@exec(escapeshellcmd($cmd), $data);
if($data && is_array($data)){
$data = explode(' ', $data[0]);
if($data[1] == 'PixelsPerInch'){
return $data[0];
}elseif($data[1] == 'PixelsPerCentimeter'){
$x = ceil($data[0] * 2.54);
return $x;
}elseif($data[1] == 'Undefined'){
return $data[0];
}
}
return 72;
}