Как проверить фото DPI с помощью PHP

Возможный дубликат:
Получить/установить DPI с помощью PHP GD/Imagick?

Есть ли способ проверить фото dpi с помощью php. У меня есть фотографии с разрешением 300 dpi и 72 dpi. но хочет способ автоматического расчета dpi.


person Flash    schedule 05.05.2011    source источник
comment
Нашел для JPEG: stackoverflow.com/ вопросы/262090/   -  person Slava    schedule 05.05.2011


Ответы (2)


Мне уже поздно проверять, но я думаю, что вы ищете Imagick::getImageResolution() и Imagick::setImageResolution(), если вам нужно изменить DPI. .

Я не думаю, что это возможно с GD, я считаю, что он «конвертирует» все изображения в 72 DPI.

person Alix Axel    schedule 05.05.2011

Если хочешь without Imagick or 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,4,4);

    return array(hexdec($x),hexdec($y));
}

а затем распечатайте массив или сделайте с ним, что хотите.

person Naeem    schedule 20.10.2012
comment
Интересный вклад! Но к каким типам файлов применим этот подход? - person SquareCat; 16.11.2012
comment
это работает для формата jpg, посмотрите комментарий denisb на bytes.com - person Alain Tiemblo; 15.06.2013
comment
Здравствуйте, я создал JPEG с разрешением 300 точек на дюйм с помощью Photoshop, но приведенная выше функция возвращает 42 точки на дюйм. - person Raptor; 17.05.2019