Я ищу код, который мог бы помочь мне получить Image DPI в PHP.
Может ли кто-нибудь задуматься над этим?
Заранее спасибо.
Вы можете пойти на некоторые библиотеки изображений для этого. Например: Imagick, GD Library …
(ИЛИ)
Вы можете использовать следующую функцию,
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)); }
Уже решил этот вопрос здесь … 🙂
Я считаю, что выполнение пользовательского php не будет конвертировать все типы изображений.
Лучший способ установить Imagick :
$image = new Imagick($filename); $resolutions = $image->getImageResolution();
с 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; }