Перейти к содержимому
Русский язык для Invision Community 5

Есть ли на свете способ проверить dpi снимка средствами php?

Пользователям запрещено загружать на сайт изображения JPEG с dpi меньше 96. Есть ли какая-то возможность автоматически проверять dpi средствами php? Может какая-то библиотека?

Изменено пользователем Zero108

Рекомендованные сообщения

  • Автор

Если вы про то, что заминусовано, то там получается, например, 1000x1000 pix (image dimensions in pixels), a не resolution (dpi).

  • Автор

Напишите код, который будет выдавать dpi (как в фотошопе, например), пожалуйста.

Напишите код, который будет выдавать dpi (как в фотошопе, например), пожалуйста.
Там же есть примеры.

$resource = new Imagick($path);
$imageResolution = $resource->getImageResolution();

$imageResolution['x'] и $imageResolution['y'] содержат значения.

  • Автор

Там же есть примеры.

$resource = new Imagick($path);
$imageResolution = $resource->getImageResolution();

$imageResolution['x'] и $imageResolution['y'] содержат значения.

 

 

Извините, но вы не понимаете, о чем идет речь.

 

На скрине красным кружком обведено значение, которое нужно получить. Скрин из фотошопа. Насколько мне объяснили, php не в состоянии получить это значение просто из файла картинки, как это делает фотошоп. Вы предлагаете получать pixel dimentions, а нужно resolution.

 

07adc8c276d4.jpg

Изменено пользователем Zero108

Вы предлагаете получать pixel dimentions, а нужно resolution.
Для получения размеров используется http://php.net/manual/ru/imagick.getimagegeometry.php

Не думаю, что разработчики imagick вместо dimension стали бы использовать в названии метода resolution.

 

Взял 3 изображения с

http://www.judyofthewoods.net/money/pixels_resolution_dpi.html

 

Результат

Безымянный.png

  • Автор

Где в вашем примере dpi на картинке?

 

Вы не могли бы обвести на вашем примере значение dpi и процитировать код, который его вычисляет?

 

PS даже странно, что никто из разработчиков php до сих пор не озаботился такой простой задачей, как определение dpi.

Изменено пользователем Zero108

  • Автор

Для получения размеров используется

 

Мне не нужно получать размеры в пикселах. Мне нужно получить значение разрешения, которое измеряется, например, в пикселах на дюйм, что сокращенно обозначается как dpi.

 

Например, на картинке-примере выше dpi = 300.

DPI LCD монитора = 96.

И т.д.

Изменено пользователем Zero108

ImageResolution

Я использовал 2 метода: getImageResolution и getImageGeometry для получения Resolution и размеров.

Мне не нужно получать размеры в пикселах.
Вы же сами пишите, что указанный выше метод используется для получения размеров. Я привел пример для 3-х картинок.

 

Мне нужно получить значение разрешения, которое измеряется, например, в пикселах на дюйм, что сокращенно обозначается как dpi.

pixels/inch - PPI, а не DPI.

  • Автор

ImageResolution

Я использовал 2 метода: getImageResolution и getImageGeometry для получения Resolution и размеров.

Очень хорошо. Только результат обведите кружочком, пожалуйста. Чтобы я понял, что вы понимаете, о чем речь.

  • Автор

Вы же сами пишите, что указанный выше метод используется для получения размеров. Я привел пример для 3-х картинок.

 

 

pixels/inch - PPI, а не DPI.

1DPI = 1PPI (пикселей на дюйм) для принтера, использующего смешивание красок при печати.

Не суть важно.

Вы пока что мне "подсовываете" не то, либо я не вижу нужную цифру в вашем примере.

  • Автор

Вы же сами пишите, что указанный выше метод используется для получения размеров. Я привел пример для 3-х картинок.

Я не писал, что мне нужно получить размер.

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.