Инструмент добавления водяного знака
Добавление текстового или графического водяного знака на изображение с настройкой позиции, прозрачности и размера
Перетащите изображения сюда или нажмите для выбора файлов
Поддерживаются форматы JPG, PNG, WebP, BMP, можно выбрать несколько сразу
Что такое добавление водяного знака?
Водяной знак на изображении накладывает текст, логотип или другую картинку поверх фотографии, чтобы показать авторство, источник, бренд, статус использования или контекст публикации. Его применяют для товарных фото, портфолио, событийных снимков, учебных материалов, соцсетей и предварительных макетов перед согласованием. Важно сохранить баланс: знак должен быть заметным и мешать простому повторному использованию, но не закрывать главный объект, фактуры и важные детали. Положение, прозрачность, размер, повторение и угол нужно подбирать под конкретный кадр. Локальная обработка в браузере помогает не отправлять оригинал наружу. Перед массовой обработкой полезно проверить один пример на разных размерах просмотра.
Как использовать
Как использовать
- Перетащите файлы или нажмите, чтобы загрузить изображения (поддерживается несколько файлов)
- Выберите тип водяного знака: текстовый или графический
- Задайте содержимое, положение, прозрачность, размер и угол поворота водяного знака
- Нажмите кнопку «Добавить водяной знак», просмотрите результат и скачайте
Проверка водяного знака
- Просмотрите результат на изображениях разного размера: водяной знак, чётко видимый на большом изображении, может оказаться слишком насыщенным или нечитаемым на миниатюре.
- Сохраняйте оригинал без водяного знака, чтобы позже изменить положение, прозрачность или текст.
Применение
Технический принцип
Наложение водяного знака происходит полностью на 2D-холсте. Исходное изображение отрисовывается в HTMLCanvasElement с его родными пиксельными размерами через ctx.drawImage, затем текст или логотип композитируется поверх с помощью ctx.fillText для строк и второго вызова drawImage для растровых наложений. Прозрачность управляется через ctx.globalAlpha, который перемножается с каждым альфа-каналом далее; globalAlpha 0.5 против 50%-прозрачного PNG даёт 25% на итоговом пикселе, что является самой частой причиной жалоб «почему мой водяной знак невидимый». Позиционирование использует стандартные преобразования холста: ctx.translate перемещает начало координат к якорю размещения (левый верх, правый верх, центр, правый низ или каждая ячейка сетки 3×3), ctx.rotate(angle) наклоняет диагональный штамп вокруг этого начала, и вызов отрисовки размещает знак без дополнительного смещения. Замощённые водяные знаки используют CanvasPattern.createPattern с повёрнутым источником и ctx.fillRect по всему холсту — именно так полоса DRAFT на целой странице остаётся равномерно распределённой независимо от размеров исходного изображения. Метрики шрифта берутся из ctx.measureText, который выдаёт CSS-пиксели, поэтому метка 28 px, помещающаяся в предпросмотре на 2x дисплее, может обрезаться при экспорте на 1x мобильном устройстве. Экспорт вызывает canvas.toBlob с 'image/png', 'image/jpeg' или 'image/webp' и опциональным параметром качества для форматов с потерями. Холст работает с разрешением источника, поэтому выходной файл сохраняет оригинальные пиксельные размеры, но не переносит EXIF-ориентацию, ICC-профиль или другие метаданные исходника. Пакеты свыше ~30 крупных файлов начинают блокировать UI-поток, потому что toBlob асинхронный, но стек отрисовки работает синхронно в основном потоке, поэтому тяжёлые задачи выигрывают от переноса работы с холстом в Web Worker с OffscreenCanvas.
- Стек композиции: ctx.drawImage для основы, ctx.fillText (или второй drawImage) для знака, ctx.globalAlpha для перемножения прозрачности.
- Альфа-математика: globalAlpha перемножается с существующей альфой каждого пикселя, поэтому знак 0.5 на PNG с альфой 0.5 отображается как 0.25, а не 0.5.
- Поворот: ctx.translate к якорю, ctx.rotate(angle) в радианах, затем отрисовка в начале координат (0,0), чтобы трансформация оставалась центрированной на точке размещения.
- Замостка: createPattern возвращает CanvasPattern, которым fillRect может заполнить весь холст, сохраняя равномерный интервал при любых размерах источника.
- Метрики текста: measureText выдаёт CSS-пиксели, поэтому метка, рассчитанная в предпросмотре на 2x, может выйти за край изображения при экспорте на 1x мобильном устройстве; в сомнительных случаях задавайте размер пропорционально canvas.width.
- Экспорт: toBlob('image/png' | 'image/jpeg' | 'image/webp', quality) сохраняет разрешение источника, но удаляет EXIF и ICC; если важна правильная ориентация, поворачивайте по EXIF-ориентации перед отрисовкой.
Примеры
Текст копирайта в правом нижнем углу
Тип: текстовый водяной знак
Текст: "(c) 2026 ToolAct Studio"
Шрифт: 28 px, белый (#FFFFFF)
Позиция: правый нижний угол
Прозрачность: 50%
Применение: фотографии портфолио, главные изображения блогаДиагональный плиточный знак "черновик" по всему изображению
Тип: текстовый водяной знак, плитка
Текст: "DRAFT - DO NOT SHARE"
Шрифт: 48 px, светло-серый (#CCCCCC)
Поворот: -30 градусов
Прозрачность: 25%
Интервал плитки: 200 px
Применение: невыпущенные фото товаров на согласовании с клиентомPNG-логотип в левом верхнем углу, масштаб 15%
Тип: водяной знак-изображение
Файл водяного знака: brand-logo.png (прозрачный фон)
Позиция: левый верхний угол, отступ 20 px
Масштаб: 15% от ширины исходного изображения
Прозрачность: 80%
Результат: логотип отображается шириной 288 px на главном изображении 1920 pxПакетная обработка 30 фотографий товаров
Вход: 30 JPG-фото товаров, каждое 2000 x 2000 px
Водяной знак: текст "shop.toolact.com"
Позиция: внизу по центру, отступ 40 px
Прозрачность: 60%, формат вывода: JPG, качество 92
Время обработки: ~8 с, общий размер вывода: 24 МБЧасто задаваемые вопросы
Загружается ли изображение для нанесения водяного знака?
Нет. Водяной знак накладывается на изображение в вашем браузере через canvas. Исходные байты никогда не покидают устройство, как и итоговый файл с водяным знаком.
Какие стили водяных знаков поддерживаются?
Текстовые водяные знаки (произвольная строка, размер шрифта, цвет, прозрачность, поворот, мозаичное повторение для полного покрытия) и графические (ваш логотип в выбранной позиции и с заданной прозрачностью). В большинстве сборок можно использовать оба варианта одновременно.
Где лучше размещать водяной знак?
В углу (обычно справа внизу) — наименее заметно, но легко обрезается. Мозаичный знак по всему изображению удалить чисто куда сложнее, но он снижает визуальную привлекательность. Полупрозрачный по центру — компромисс между читаемостью и защитой авторского права. Выбирайте исходя из приоритета: читаемость или защита.
Можно ли удалить водяной знак?
Решительно настроенный человек обычно может убрать одиночный угловой знак обрезкой или контентно-зависимой заливкой, особенно на фото с равномерным фоном. Мозаичные полупрозрачные знаки удалить сложнее. Неудаляемых водяных знаков не бывает — относитесь к ним как к сдерживающему фактору и метке об авторских правах, а не как к реальной защите.
Какой формат и качество на выходе?
PNG чётко сохраняет края водяного знака (рекомендуется для штриховой графики и скриншотов). JPEG перекодирует результат и может слегка размыть знак; для чистого результата выбирайте качество 90 и выше. Страница позволяет выбрать и формат, и качество.
Сохраняются ли EXIF и метаданные?
Скорее всего нет — обработка через canvas обычно удаляет EXIF и ICC-профиль. Это может быть выигрышем для приватности (метаданные камеры, GPS-координаты и временная метка удаляются), но означает, что копия с водяным знаком уже не является криминалистическим оригиналом.
Можно ли пакетно нанести водяной знак на несколько изображений?
Да. Перетащите сразу несколько файлов — один и тот же водяной знак будет применён к каждому. Размер пакета ограничен памятью браузера: очень большие пакеты замедляют обработку или приводят к нехватке памяти на мобильных устройствах. Для стабильности обрабатывайте пачками по ~20–50 изображений.