Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2020, 22:51   #1
Blood_ghosT
Пользователь
 
Регистрация: 29.07.2011
Сообщений: 92
По умолчанию Как создать водяной знак!

Добрый день! подскажите как можно создать водяной знак на фотки с своими данными на фото. сайт на Wordpress плагины не подходят либо не те пробовал. тк данные будут браться с профиля при загрузки сайта. заранее спасибо
Blood_ghosT вне форума Ответить с цитированием
Старый 06.06.2020, 23:04   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

Водяной знак, на сколько понимаю, это всего лишь наложить на исходное изображение другое с полупрозрачностью. Ну вот в этом направлении и надо копать.
Arigato вне форума Ответить с цитированием
Старый 07.06.2020, 15:23   #3
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Adding watermarks to images using alpha channels
5 вариантов добавления watermark (водяной знак) на изображение, средствами PHP
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Старый 07.06.2020, 17:14   #4
Blood_ghosT
Пользователь
 
Регистрация: 29.07.2011
Сообщений: 92
По умолчанию

Всем спасибо.
Спасибо буду пробовать!!!
Blood_ghosT вне форума Ответить с цитированием
Старый 07.06.2020, 18:34   #5
Blood_ghosT
Пользователь
 
Регистрация: 29.07.2011
Сообщений: 92
По умолчанию

чет не получается(

пробовал через функцию как в примере из 2 ссылки.
Код:
function add_watermark($img, $text, $font, $r = 128, $g = 128, $b = 128, $alpha = 100)
  {
   //получаем ширину и высоту исходного изображения
   $width = imagesx($img);
   $height = imagesy($img);
   //угол поворота текста
   $angle =  -rad2deg(atan2((-$height),($width))); 
 
   //добавляем пробелы к строке
   $text = " ".$text." ";
 
   $c = imagecolorallocatealpha($img, $r, $g, $b, $alpha);
   $size = (($width+$height)/2)*2/strlen($text);
   $box  = imagettfbbox ( $size, $angle, $font, $text );
   $x = $width/2 - abs($box[4] - $box[0])/2;
   $y = $height/2 + abs($box[5] - $box[1])/2;
 
   //записываем строку на изображение
   imagettftext($img,$size ,$angle, $x, $y, $c, $font, $text);
   return $img;
  }
потом нашел у себя в где создается фото
Код:
if($extension == "jpeg") {
    	    $image = imagecreatefromjpeg($_FILES['Filedata']['tmp_name']);
    	} elseif ($extension == "png") {
    	    $image = imagecreatefrompng($_FILES['Filedata']['tmp_name']);
		} elseif ($extension == "gif") {
    	    $image = imagecreatefromgif($_FILES['Filedata']['tmp_name']);
		} else {
			die("Unsupported type");
		}

		// Target dimensions
		$max_width = "182";
		$max_height = "270";

		// Get current dimensions
		$old_width  = imagesx($image);
		$old_height = imagesy($image);

		// Calculate the scaling we need to do to fit the image inside our frame
		$scale = max($max_width/$old_width, $max_height/$old_height);

		// Get the new dimensions
		$new_width  = ceil($scale*$old_width);
		$new_height = ceil($scale*$old_height);

		// Create new empty image
		$new = imagecreatetruecolor($new_width, $new_height);

		// Resize old image into new
		imagecopyresampled($new, $image, 0, 0, 0, 0, $new_width, $new_height, $old_width, $old_height);
		//replace temp image with the resized one

   	    imagejpeg($new, $_FILES['Filedata']['tmp_name'], 99);
   	    $extension = "jpg";
добавил вывод функции
Код:
if($extension == "jpeg") {
    	    $image = imagecreatefromjpeg($_FILES['Filedata']['tmp_name']);
    	    $img = add_watermark($image,'Grigorieff.ru','/i/icon-font/iconfont.ttf');
    	}
Код:
// Get current dimensions
		$old_width  = imagesx($img);
		$old_height = imagesy($img);
Код:
imagecopyresampled($new, $img, 0, 0, 0, 0, $new_width, $new_height, $old_width, $old_height);
Blood_ghosT вне форума Ответить с цитированием
Старый 07.06.2020, 19:13   #6
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию

Цитата:
Сообщение от Blood_ghosT Посмотреть сообщение
из 2 ссылки.
Все необходимые либы подключили?
Почему со 2 ссылки? когда первая на официальный ман, чем не подошло?
Alar вне форума Ответить с цитированием
Старый 07.06.2020, 20:34   #7
Blood_ghosT
Пользователь
 
Регистрация: 29.07.2011
Сообщений: 92
По умолчанию

Цитата:
Сообщение от Alar Посмотреть сообщение
Все необходимые либы подключили?
Почему со 2 ссылки? когда первая на официальный ман, чем не подошло?
интересует именно чтобы вставлять текст а не фото. а там как раз через функцию + текст.
Если есть хороший пример помогли бы.
Blood_ghosT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
GLScene - как убрать "водяной знак" компонента beegl Общие вопросы Delphi 3 11.12.2018 10:46
Водяной знак. Rost93 PHP 9 21.05.2013 11:38
Водяной знак (Delphi 7) alxd Мультимедиа в Delphi 12 02.09.2010 15:19
Есть чат на яваскрипте.не могу поставит знак +;Хотя люди его как то ставят, просто мой знак + заменяется maksim1983 JavaScript, Ajax 4 23.02.2009 07:55
Как сделать водяной насос? JoanM Свободное общение 5 18.08.2007 00:29