Я создаю wkhtmltopdf
инструмент ширины PDF-файлов (рендеринг HTML
в PDF
)
Эти PDF-файлы предназначены для (полу)профессиональной печати.
Допустим, качество печати должно быть 300 dpi, и пользователь размещает на этой странице изображение размером 3 на 3 дюйма. Загруженное изображение имеет размер 3000x3000 (10 МБ)
Если моя логика верна, размер изображения 900x900 был бы лучшим (это правильно?)
Так что я вижу два варианта
и
Если моя логика верна, то правильный ответ - второй.
Это правильно? Если нет, то почему?
Ваша логика верна с точки зрения изображения размером 3 дюйма на 3 дюйма с разрешением 300 точек на дюйм, которое должно быть 900 пикселей на 900 пикселей. Теоретически любые измерения за пределами этого являются излишними .
Я говорю «теоретически», потому что реальная мировая практика иногда показывает, что необходимость физически сжать большое сжатое изображение перед печатью может обеспечить лучшее качество печатаемого изображения размером 900 x 900 пикселей, чем распечатываемое сжатое изображение размером 900 x 900 пикселей.
Это было бы незначительным в jpeg с легким сжатием и хорошим алгоритмом передискретизации в imagemagick, но стоит поднять в профессиональной среде. Похоже, вы должны быть в порядке, сохраняя 900 x 900 пикселей.
Хорошо, хотя вы, конечно, можете уменьшить изображение. И это работает. есть несколько возможных предостережений, которые следует учитывать. Помните, что я почти ничего не знаю о ваших целях и о том, что делает ваше программное обеспечение. Проблемы, которые могут возникнуть:
Рассматриваемое изображение не является фотографическим, а опирается, скажем, на некоторый векторный контент, такой как текст. Теперь текст, напечатанный с разрешением 300 точек на дюйм, выглядит немного размытым, так как обычно растрируется с более высоким разрешением, чем фотографии. В любом случае пользователь samrt может попытаться обойти этот факт с помощью изображений большего размера.
Это может быть неправильное использование, а может и нет. Но нужно решить, так ли это на самом деле.
Меньшее изображение != меньший файл. Конечно в случае 30000 против 900 игра понятна. Но что действительно важно, так это то, сколько энтропии содержится в изображении. Поэтому наивное простое масштабирование не обязательно является лучшей стратегией распределения пропускной способности.
Вместо этого вы можете принять стратегию, при которой вы пытаетесь сжать, если размер изображения превышает определенный порог размера. Как тогда вы вознаградите тех, кто может сделать работу самостоятельно.
Масштабирование вашего приложения постфактум невозможно. Если кто-то решит что-то сделать с данными изображения позже, чтобы продать что-то, это может не сработать. Хотя 150 PPI может быть приемлемым во многих случаях.
Принтер, скорее всего, ничего не сделает с изображениями, если только они не будут абсолютно огромными. Поскольку работа для этого часто не стоит того, и их разрыв может решить, что лучше в любом случае.
полубит
стопка печенья
полубит
джуджа
полубит
джуджа
стопка печенья
полубит
джуджа
стопка печенья