Имя пользователя как Водяной знак - PullRequest
6 голосов
/ 14 ноября 2010

Хорошо, я искал в интернете и переполнении стека, но не могу найти ответ на свою проблему.

Мне нужно, чтобы водяные знаки загружали пользователи динамически, но я не хочу, чтобы текст наносился на изображение. Мне нужен настоящий водяной знак, как это: alt text

Единственный способ добиться этого эффекта - использовать Photoshop, добавив тень и уменьшив заливку до 0%. Но если мой сайт посещают 200 пользователей, которые загружают свои изображения, я просто не могу сделать для каждого из них новый файл PNG с их именем пользователя. Вот почему я ищу динамическое решение этой проблемы.

Я уже нашел классы, как добавить файл png в качестве водяного знака к изображениям, но, как я уже говорил, это не сработает, если мой сайт посещают многие пользователи.

Надеюсь, кто-то знает способ, как решить эту проблему и получить такой же эффект на изображениях динамически.

Большое спасибо.

Ответы [ 4 ]

11 голосов
/ 14 ноября 2010

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

2 голосов
/ 14 ноября 2010

Вы можете использовать imageMagick, чтобы сделать это с PHP.Сделайте некоторые Googling для PHP imagemagick водяные знаки, этот поток может помочь некоторым: http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=17067

Вы по существу хотите сделать файл PNG вашего водяного знака.PNG обеспечит альфа-прозрачность, и вы сможете получить эффект тени и т. Д.

Затем он будет применен к вашему изображению JPG, и будет получено окончательное изображение JPG с водяным знаком, с добавленным поверх него PNG..

Должно работать.

0 голосов
/ 14 ноября 2010

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

0 голосов
/ 14 ноября 2010

Другие ответы здесь - отличные ответы, но я хотел добавить альтернативу.

Вы можете динамически создавать сценарии для GIMP для выполнения, чтодает вам тонны гибкости.Это просто избыточно для простого водяного знака, но если вам нужно было выполнить более сложную обработку изображений, это, безусловно, вариант. CoolText.com является примером веб-сайта, который делает это.

Тот же подход должен работать и в Photoshop.На самом деле, вы, вероятно, могли бы создать экземпляр COM-интерфейса Photoshop с PHP .

Опять же, я не рекомендую это для базовых водяных знаков ... просто если вам нужно больше функций, чем предусмотреноImageMagick / GD.

...