Масштабируемый водяной знак

Есть идея

#1 10 февраля 2016 в 15:11
Всем привет.
Идея заключается в том, что бы перед нанесением водяного знака масштабировать его относительно картинки.

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

Отсюда берем пропорцию

ширина большой картинки ширина маленькой картинки
— = ------------------------------------------
ширина ватермарка х

где х — соответственно, ширина ватермарка для маленькой картинки

высчитываем, формируем новый ватермарк и накладываем его на маленькое изображение.

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

+ можно будет наносить ватермарк не только на большую картинку, но и на миниатюру, что иногда так же полезно


Кто возьмется за реализацию? кстати, будет интересно эту фишку прикрутить к хаку, который позволяет ставить ватермарк в любом месте картинки, уже не помню, кто делал…
#3 10 февраля 2016 в 20:28
Странник, ну е-мае… я у себя не нашел в архивах, но помню, что покупал его.
думаю, что нужно в твой хак и встроить это решение, ибо они как то в одну струю.

Только, уже для 1.10.6, видимо допил потребуется

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

вот такое решение бы тоже добавить
#4 10 февраля 2016 в 22:37
Для двойки было бы хорошо
#5 11 февраля 2016 в 04:41
Blackman-st, ладно, допилю для 1.10.6 и твою идею с масштабируемостью вставлю.

Насчет плитки еще надо подумать. Тут могут возникнуть глюки библиотеки GD. Хотя библиотека и поворачивает накладываемый ватермарк, его качество при этом падает ниже плинтуса. В первом варианте хака поворот был. После экспериментов с поворотом я убедился, что изображение ватермарка оказывается состоящим из квадратиков. Поэтому я от поворота в хаке отказался.

Управление прозрачностью напрямую библиотекой не предусматривается. Где то видел алгоритм, позволяющий делать полупрозрачный ватермарк через альфаканал, но что там с качеством — даже экспериментировать не стал. Библиотека GD явно не фотошоп, что вы от нее хотите...

yury, этот хак для первой ветки.
#6 11 февраля 2016 в 10:23
Странник, сорри, некорректно выразился… не поворачивать ватермарк, а просто дублировать его на всю площадь картинки как бесшовный фон делается в стилях (repeat: x,y)
#7 11 февраля 2016 в 10:43
Странник, стоимость? smile
#8 11 февраля 2016 в 11:59
Blackman-st, поэкспериментировал с маленькими картинками. Нет смысла применять к ним этот алгоритм. Ватермарка практически не видно. Овчинка не стоит выделки, правда.

Допилил свой хак до 1.10.6. Скажи в ЛС, куда выслать.

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



Естественно, делал на скорую руку. Можешь сам сделать текст полупрозрачным, с тенями, градиентами и прочими вкусняшками.

Ставишь у хака настройки "Верхний левый угол" и нулевое обжатие. И будет тебе щастье :)
#9 11 февраля 2016 в 12:02
Странник, еще как стоит, особенно, когда работаешь с мапсом, ибо там 350 картинка по ширине и ватермарк, как дурак, на всю картинку получается, или в статьях, например, у меня установлено 1024 по дефолту, а заливаешь картинку внутри статьи 300 пикселей, и все, смотришь не на изображение, а на полупрозрачные линии во весь экран....

простой пример
#10 11 февраля 2016 в 12:40
Jestik, Читайте статью в блоге instantcms.ru/blogs/stranyi-blog/regulirovka-vatermarka-iz-adminki-dlja-icms-1-10-h.html
Стоимость взноса вы определяете сами. И там также есть список спонсоров.

Blackman-st, Данный хак является модификацией страндартной функции Инстанта Первой ветки. Некоторые компоненты, например, Блоги, Доска объявления, Каталог статей, Клубы дополнительно содержат настройку "Наносить ли водяной знак".

Если да, то при загрузке изображений, например, в Статью функция наложения срабатывает. Чтобы накладывать водяной знак и на малые фото, надо дополнительно хакнуть еще и этот компонент.

Что касается Мапса, тут ничего сказать не могу. Если не ошибаюсь, этот компонент зашифрован?
#11 11 февраля 2016 в 12:49
вопрос не в малых фото, вопрос в загружаемых фото, если они меньше. чем выбранный размер в настройках, ватермарк пахабит их, так как он крупнее изображения зачастую получается.

малые фото формируются из больших своим пересчетом, но они пересчитываются уже с ватермарком
например:

Иллюстрация

так же как и мапс сам уже пересчитывает картинку с ватермарком
#12 11 февраля 2016 в 12:50
то, что малые фото не снабжаются ватермарком — это уже второй вопрос и другой хак, уже компонента статей
#13 11 февраля 2016 в 15:41
Blackman-st, попробуй поставить мой хак и расскажи, что получается
#14 11 февраля 2016 в 16:04
Странник, ты переделал, вернее, доделал таки?
#15 11 февраля 2016 в 17:20
Blackman-st, я свой старый хак, который был на 1.10.3, перевел на 1.10.6. Он пересчитывает размеры ватермарка в зависимости от размеров исходного рисунка и положения бегунка. Скажи в ЛС, куда отправить архив.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.