PHP изменить размер и водяные знаки изображения на лету или создать несколько версий?
У меня есть коллекция из более чем 500 изображений, размер которых был увеличен до 800 x 533 пикселей, и мне необходимо отображать их эскизы разных размеров в зависимости от числа в определенной категории, поэтому ширина раздела составляет, скажем, 650 пикселей. заполняется в 2/3/4 столбцах фотографий. Эти изображения будут спрятаны на нескольких разных доменах, каждый с отдельным водяным знаком.
Поэтому я написал скрипт, который изменяет размеры изображений на основе определенных параметров (ширина / высота / аспект), а затем добавляет водяной знак на лету. Я сделал это потому, что хотел сэкономить место на сервере и максимально динамично отображать его, что позволит отображать миниатюры с водяными знаками и полные фотографии в разных размерах на нескольких доменах.
Мои вопросы:
Правильно ли я поступил с точки зрения использования водяных знаков на лету?
Буду ли я лучше сохранять копии фотографий без водяных знаков в меньших размерах (300 x 200px) и ссылаться на них в качестве эскиза?
Должен ли я создать отдельную копию каждой фотографии (и, возможно, также миниатюры) уже водяного знака с указанным логотипом и сохранить его в отдельной папке домена? Хотя это будет означать массовое дублирование
Большое спасибо за ваш совет
1 ответ
Вы используете Image Magick?
Есть причины, по которым вы хотели бы сделать это динамически, и почему вы этого не сделаете. Оба подхода действительны. Вот плюсы и минусы:
- производительность лучше, если вы кешируете изображения. Серверное пространство - которое вы считаете проблемой - в наши дни дешевое и не должно быть фактором. С другой стороны, задержка создает плохой пользовательский опыт
- Ваши сценарии могут не иметь права на выполнение сценария обработки изображений, который вы написали, и вы зависите от сервера больше, если вы делаете это динамически.
- Если вы решите изменить размер миниатюр, в динамическом сценарии вам не нужно будет повторно генерировать все миниатюры, поскольку вы не сохраняете их.
- водяные знаки: выберите водяные знаки на изображениях, которые вы хотите защитить. Если миниатюры используются для быстрого просмотра большого файла ("чувствительный" актив), тогда не ставьте водяные знаки на свои миниатюры.
Это просто общие правила. Ничего не установлено в камне.
На моем собственном сервере (где я использую WordPress) миниатюры создаются во время загрузки изображения. Это дает мне лучшие возможности просмотра, когда посетители попадают на мою страницу. НО, если я решу изменить дизайн своего веб-сайта и изменить формат миниатюр, мне придется восстановить все изображения.