2

我正在寻找可以帮助我在 PHP 中获取图像 DPI 的代码。

有人可以调查一下吗?

提前致谢。

4

3 回答 3

3

您可以为此使用一些图像库。例如:Imagick、GD 库...

(或者)

您可以使用以下功能,

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

已经在这里解决了这个问题...... :)

于 2013-06-13T13:50:04.337 回答
2

我相信做一个自定义 php 不会转换所有类型的图像。

安装Imagick的最佳方式:

$image = new Imagick($filename);
$resolutions = $image->getImageResolution();
于 2013-11-24T14:44:44.183 回答
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;
}
于 2014-08-21T22:25:12.287 回答