Бітрікс і масштабування накладення водяного знака на льоту, Дермань марк - 1с-бітрікс програміст

Питання накладення водяного знака давно не питання. І на льоту його теж немає проблем накласти.

Проблема з'явилася при необхідності масштабування водяного знака, щоб він при будь-якому фінальному розмірі фото товару займав всю доступну ширину зменшеного фото або трохи менше.

Спочатку подивимося на результати, чого хотілося б досягти.

Список товарів

Список товарів з водяним знаком застосувати при збереженні фото в інфоблок.

Бітрікс і масштабування накладення водяного знака на льоту, Дермань марк - 1с-бітрікс програміст

На даному прикладі показано, що буде якщо водяний знак дуже великий (більше фото товару).

Бітрікс і масштабування накладення водяного знака на льоту, Дермань марк - 1с-бітрікс програміст

Список товарів з масштабованим водяним знаком (наша мета).

Бітрікс і масштабування накладення водяного знака на льоту, Дермань марк - 1с-бітрікс програміст

Картка товару

Картка товару з водяним знаком застосувати при збереженні фото в інфоблок.

Бітрікс і масштабування накладення водяного знака на льоту, Дермань марк - 1с-бітрікс програміст

Картка товару з масштабованим водяним знаком (наша мета).

Бітрікс і масштабування накладення водяного знака на льоту, Дермань марк - 1с-бітрікс програміст

Картка товару, велике фото

Картка товару (велике фото) з водяним знаком застосувати при збереженні фото в інфоблок.

Бітрікс і масштабування накладення водяного знака на льоту, Дермань марк - 1с-бітрікс програміст

Картка товару (велике фото) з масштабованим водяним знаком (наша мета).

Бітрікс і масштабування накладення водяного знака на льоту, Дермань марк - 1с-бітрікс програміст

Рішення завдання

Дану задачу не вийде вирішити застосувавши водяний знак раз при збереженні фото товару в інфоблок. У такому випадку при масштабуванні фото - водяний знак теж зменшиться разом з фото.

Для вирішення даного завдання:

  • потрібно зберігати в Інфоблоки оригінальне фото
  • потрібен водяний знак великого розміру (але не більше найбільшого розміру фото на сайті, для якого він буде застосовуватися)
  • потрібно обчислити підсумковий розмір фото товару після ресайз (А)
  • створити зменшений варіант водяного знака (А) * 0.95
  • застосувати фільтр зі зменшеним водяним знаком до фото товару

Код робочий, можна відразу використовувати:

Підведемо підсумки

На виході отримуємо зменшену фотографію товару будь-якого розміру і отмасштабовані водяний знак по всій ширині, без втрати якості. При цьому водяний знак може бути навіть більше самих фото.

Корисні посилання

Схожі статті