Всех друзей поздравляем с Новым годом! Всего вам самого наилучшего! Всех благ, здоровья а материальное приложится!
СКРИПТЫ althtmlcssphpjsblog

Ставим водяной знак на картинку php

Поддержи проект!!! smile

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

А именно наложения прозрачного "водяного знака" на оригинальное изображение.

Очень подробно, пошаговая инструкция нанесения водяного значка php

  1. Описание как нанести водяной знак на изображение с помощью php
  2. Условие для установки водяного знака
  3. Создаем виртуальный водяной знак.
  4. Сохранение изображения с водяным знаком.
  5. Скрипт водяного знака
  6. Скачать можно здесь
  1. Описание как нанести водяной знак на изображение с помощью php

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

    Дело в том. что я попробовал использовать нанесение текста вместо картинки, но это оказалось таким проблематичным, что я на некоторое количество времени отказался вообще от водяного знака.

    Одна из главных проблем - это позиционирование водяного знака и сделать это со шрифтом - короче я "забодался"!

    В общем - я протестировал нанесение полупрозрачного изображения в виде водяного значка.

    Наш водяной знак будет стоять всегда "ПОСЕРЕДИНЕ" - если вам потребуется разобраться с позиционированием, то у нас есть страница на эту тему!

    Алгоритм создания водяного знака php/

    Создаем водяной знак из существующего изображения.

    Накладываем водяной знак уже на существующую картинку.

    Переписываем исходное изображение.

    Процесс наложения - создание водяного знака.

    У нас будет 4 изображения для наложения водяных знаков.

    Вам понадобится программа, которая сомжет делать полупрозрачное изображение - использовалась программа "Photoshop" в архив положу файл "psd" из которого делались ниже приведенные файлы. Вам потребуется изменить только разрешение исходника + собственный текст, и сохранить новое изображение в новом разрешении 4 раза, в названии файла вы видите какое разрешение файла:

    $watermark_src = $home . '/watermark/watermark_1300_307.png' ;

    $watermark_src = $home . '/watermark/watermark_1000_236.png' ;

    $watermark_src = $home . '/watermark/watermark_700_165.png' ;

    $watermark_src = $home . '/watermark/watermark_500_118.png' ;

  2. Условие для установки водяного знака

    Как вы поняли, наверное, если у нас 4 изображения, то будет 4 условия, разберем на первом, остальные аналогичные...

    путь до исходной картинки

    $img = $home . '/путь_до, картинки/оригинал.png' ;

    получаем размер картинки

    $size_img = getimagesize($img);

    ширина

    $width = $size_img[0];

    высота

    $height = $size_img[1];

    Создаем условие наложения определенного водяного знака если существующее изображение будет в пределах ширина больше "1350" и высота больше "400"

    if($width > 1350 and $height > 400)

    Тогда у нас будет загружаться определенный водяной знак. $home - путь до корневой
    Внимание! в архиве вместо такого пути применена константа __DIR__ - для примера и для данного случая - это самый удобный вариант(в том смысле, что путь до папки получается автоматически, где бы эта папка не находилась), если и картинки и скрипт находятся в одной папке.

    $watermark_src = $home . '/watermark/watermark_1300_307.png' ;

    Далее позиционирование...ставим посередине картинки(подробнее)

    $otstup_width = ($width - 1300)/2;
    $otstup_height = ($height/2) - (307/2);

    Создаем некую переменную, потом будем её использовать

    $do_watermark = 1;

    Собираем код(весь код не буду публиковать - очень длинный...(всё будет в архиве)):

    $img = $home . '/путь_до, картинки/оригинал.png' ; // путь до исходной картинки

    $size_img = getimagesize($img); // получаем размер картинки

    $width = $size_img[0]; // ширина

    $height = $size_img[1]; // высота


    if($width > 1350 and $height > 400)

    {

    $watermark_src = $home . '/watermark/watermark_1300_307.png' ;

    $otstup_width = ($width - 1300)/2;

    $otstup_height = ($height/2) - (307/2);

    $do_watermark = 1;

    }

    еще условия... много условий

  3. Создаем виртуальный водяной знак.

    Вот и пригодилась та переменная($do_watermark)), по условию её существования... получаем размеры водяного знака + создаем в переменную "$image" наш оригинал.

    if($do_watermark)

    {

    $sizeWM = getimagesize($watermark_src); // получаем размер водяного знака

    $watermark_width = $sizeWM[0]; // ширина водяного знака

    $watermark_height = $sizeWM[1]; // высота водяного знака

    //Создаёт новое изображение из файла или URL

    if($mime[1]=='jpeg')

    {

    $image = imagecreatefromjpeg($img);

    }

    еще условия... много условий

    }

    Далее также создаем в переменную водяной знак...

    $watermark = imagecreatefrompng($watermark_src);

    И накладываем два изображения друг на друга...

    imagecopy($image, $watermark, $otstup_width, $otstup_height , 0, 0, $watermark_width, $watermark_height);

  4. Сохранение изображения с водяным знаком.

    Далее нам остается перезаписать существующую картинку(по адресу $img) на эту же картинку, но только с водяным знаками "$image".

    if($mime[1]=='jpeg')

    {

    imagejpeg($image, $img, 100); // качество в 100%

    }

    еще условия... много условий

    Очищаем

    Уничтожение изображения

    imagedestroy() освобождает память, занятую изображением image.

    imagedestroy($image);

    imagedestroy($watermark);

  5. Скрипт водяного знака

    В общем... что я тут подумал...

    Описание не полное и разобраться, как в реальности это будет работать - не очень понятно - веренее вообще непонятно!

    Поэтому

    В архиве, готовый скрипт к применению!

    Бросаем в любую папку на сайте, кроме файла "psd".

    Скрипт водяного знака

    Открываем файл "test.php" в браузере, нажимаем "выбрать картинку", на которую будет наложен водяной знак. Чекбокс уже "чекнут", его не нужно трогать.

    Скрипт водяного знака

    После выбора картинки и нажатия кнопки "сохранить изменения", в папке(на сервере) появится новое изображение:

    Скрипт водяного знака

    Обращаю ваше внимание на путь - используется константа __DIR__ - если файл "test.php" со скриптом, либо сам скрипт будет находиться в другой папке, то путь до картинки с водяным знаком нужно прописывать вручную.

    Скрипт водяного знака

    Думаю с путями разберетесь самостоятельно! Там всего две позиции:

    Куда будет файл изначально сохраняться - $uploaddir.

    И второй путь до картинки с водяным знаком.

    Если вдруг загрузили не ту картинку, то вам может пригодиться замена картинки


Последняя дата редактирования : 28.02.2021 12:58
Название скрипта :Водяной знак на картинку
Скрипт № 24.7Ссылка на скачивание : Все скрипты на одной странице
//dwweb.ru/comments_1_5/include/img/hand_no_foto.png
no
no
Еще никто не прокомментировал! COMMENTS+   BBcode
аватар
🞨
Загрузить свой аватар
(max ширина, высота = 200px)

Подписаться + =
Теги:
водяной знак php php наложение водяного знака php водяной знак на картинкуwatermark php watermark через php

Счетчик в график :

Построение гравиков
Основа для графика : счетчик посещаемости.
Последние комментарии :
Марат :
08/04/2021 07:12
Сам афигеваю!
подробнее.
stream :
07/04/2021 05:56
Неплохо)
подробнее.
Марат :
24/03/2021 11:01
Да что вы!? За что обижаться то?Вы тот редкий человек, который смог написать! Вы молодец!Человек, же который не…
подробнее.
Виталий :
24/03/2021 06:05
Не стоит обижаться, люди могут не понимать что ошибка не критична. Может быть до конца не изучали…
подробнее.
Марат :
23/03/2021 02:09
Спасибо, за сообщение! В архив попал вариант, который был на тестировании и там остались некоторые…
подробнее.