如何在PHP中获取Image DPI

时间:2013-06-13 13:46:26

标签: php image density-independent-pixel

我正在搜索可以帮助我在PHP中获取Image DPI的代码。

任何人都可以看一下吗?

提前致谢。

3 个答案:

答案 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));
} 

Already solved this question here... :)

答案 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;
}