Blog. Just Blog

Оценка качества изображения для печати

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Web-мастеру и не только | Автор: ManHunter
Оценка качества изображения для печати
Оценка качества изображения для печати

Качество изображения измеряется в количествах пикселей (точек) на дюйм (1 дюйм = 25.4 мм), единица измерения - dpi (Dots Per Inch). К типографской печати обычно принимаются изображения не менее 150 dpi, а вот для фотопечати качество должно быть уже 300 dpi и больше. Однако, при оценке качества изображения обязательно надо учитывать и размер печати. К примеру, исходный файл из цифромыльницы с разрешением 1200х900 пикселов будет неплохо смотреться на фотокарточке 10х15 см, но для печати на плакате его качества будет недостаточно. А кадры с Nikon D800 разрешением 7360х4912 пикселов можно без проблем распечатать на формате A1 и повесить на стенку.

Для вычисления dpi надо желаемые размеры печати перевести в дюймы, а затем поделить разрешение исходного файла на эти значения по ширине и высоте. Полученные значения dpi и будут искомым результатом оценки качества изображения. Осталось оформить это все вот в такую несложную функцию:
  1. // Функция для расчета dpi изображения
  2. function get_dpi($picture$print_x$print_y) {
  3.     if (file_exists($picture)) {
  4.         list ($x,$y)=GetImageSize($picture);
  5.         if ($x && $y && $print_x && $print_y) {
  6.             // "Повернуть" изображение под размер печати
  7.             if ($print_x<$print_y) {
  8.                 if ($x>$y) {
  9.                     list ($x,$y)=array($y,$x);
  10.                 }
  11.             }
  12.             // Посчитать dpi по ширине и высоте
  13.             $dpi=array(
  14.                 'dpi_x'=>intval($x/($print_x/2.54)),
  15.                 'dpi_y'=>intval($y/($print_y/2.54))
  16.             );
  17.             return $dpi;
  18.         }
  19.         else {
  20.             return false;
  21.         }
  22.     }
  23.     else {
  24.         return false;
  25.     }
  26. }
Параметры функции: $picture - путь к файлу с изображением, $print_x - ширина печати в сантиметрах, $print_y - высота печати в сантиметрах. На выходе массив со значениями dpi по высоте и ширине для данного изображения или false, если файл отсутствует, имеет неправильный формат или заданы неправильные размеры печати. В случае необходимости изображение будет "повернуто" под размер печати.

Теперь несколько примеров ее использования. Для тестов я взял две фотографии - 1200х900 и 7360х4912 пикселов. Вот результаты работы функции для различных форматов печати:
  1. //------------------------------------------------------
  2. // pict1.jpg - файл разрешением 1200х900 пикселов
  3. //------------------------------------------------------
  4. // Фотография 10х15
  5. get_dpi('pict1.jpg',10.2,15.2);
  6. // [dpi_x] => 224 [dpi_y] => 200
  7.  
  8. // Плакат формата А1
  9. get_dpi('pict1.jpg',84.1,59.4);
  10. // [dpi_x] => 36 [dpi_y] => 38
  11.  
  12. //------------------------------------------------------
  13. // pict2.jpg - файл разрешением 7360х4912 пикселов
  14. //------------------------------------------------------
  15. // Фотография 10х15
  16. get_dpi('pict2.jpg',10.2,15.2);
  17. // [dpi_x] => 1223 [dpi_y] => 1229
  18.  
  19. // Плакат формата А1
  20. get_dpi('pict2.jpg',84.1,59.4);
  21. // [dpi_x] => 222 [dpi_y] => 210
  22.  
  23. // Плакат формата А0
  24. get_dpi('pict2.jpg',84.1,118.9);
  25. // [dpi_x] => 148 [dpi_y] => 157
Как видите, первую картинку можно распечатать в формате 10х15, хотя даже для такого размера качество будет уже меньше рекомендуемого 300 dpi. А вторая картинка поместится даже на А0 без особой потери качества (при условии, конечно, что ее не будут рассматривать в упор).

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

Поделиться ссылкой ВКонтакте Поделиться ссылкой на Facebook Поделиться ссылкой на LiveJournal Поделиться ссылкой в Мой Круг Добавить в Мой мир Добавить на ЛиРу (Liveinternet) Добавить в закладки Memori Добавить в закладки Google
Просмотров: 4927 | Комментариев: 1

Метки: PHP, графика
Внимание! Статья опубликована больше года назад, информация могла устареть!

Комментарии

Отзывы посетителей сайта о статье
exed (24.10.2012 в 11:25):
Спасибо, полезная инфа

Добавить комментарий

Заполните форму для добавления комментария
Имя*:
Текст комментария (не более 2000 символов)*:

*Все поля обязательны для заполнения.
Комментарии, содержащие рекламу, ненормативную лексику, оскорбления и т.п., а также флуд и сообщения не по теме, будут удаляться. Нарушителям может быть заблокирован доступ к сайту.
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2017
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.06 сек. / MySQL: 2 (0.0039 сек.) / Память: 4.5 Mb
Наверх