Окт 1

Текст с окантовкой

Рубрики: Php Метки: ,  Количество просмотров: 2,677

Недавно задался вопросом: как писать средствами php на картинках так, чтобы у текста был контур (наподобие действия stroke в фотошопе). И нашел на форуме php.ru оригинальное решение.

Суть вопроса: когда выводишь текст на изображении он иногда совпадает (или сходен) с фоном той области, на которой будет расположен текст.

Решение проблемы: нужно черным цветом сделать ту же самую надпись 4 раза, в пределах 1-го пиксела от белого текста (выше, ниже, левее, правее) тем же самым шрифтом.

Вот так выглядит тестовая картинка с белым фоном после обработки моим кодом:



Исходный код:

<?php
	$info = getimagesize("image.jpg");

	// Загружаем изображение
	// ... (пропущено)
	// Загружаем изображение

	$black = imagecolorallocate($im,0,0,0);
	$color = imagecolorallocate($im,255,255,255);
	$font_size = 11;
	$text = "Превед медвед";

	$posX = $info[0] - 100 - 20;
	$posY = $info[1] - 6;

	// создаем окантовочку
	imagettftext($im,$font_size,0,$posX,$posY - 1,$black,"arial.ttf",$text);
	imagettftext($im,$font_size,0,$posX - 1,$posY,$black,"arial.ttf",$text);
	imagettftext($im,$font_size,0,$posX,$posY + 1,$black,"arial.ttf",$text);
	imagettftext($im,$font_size,0,$posX + 1,$posY,$black,"arial.ttf",$text);

	// "рисуем" сам текст
	imagettftext($im,$font_size,0,$posX,$posY,$color,"arial.ttf",$text);

?>
1 звезда2 звезд3 звезд4 звезд5 звезд (5 голосов, средний: 5 из 5)
Загрузка ... Загрузка ...
Другие статьи автора

Комментарии

  1. Цитировать Алексей Качаев

    Оригинальное решение :) В жизни бы не додумался.

  2. Цитировать slaFFik

    Действительно, оригинально. Но чтобы прикрутить в WP, надо редактировать core-файлы. Возможно ли из этого создать плагин?

  3. Цитировать Samborsky

    Я встраивал это в WP. Примеры можно посмотреть тут

    http://rybalka.tv/photo-reports/single/2416/

    или тут

    http://www.plasticfantastic.ru/blogs/view/149

    Но там наложение надписи происходит в шаблоне, я не оформлял эту фичу как плагин.
    Кстати когда буду делать фотоотчеты для новой версии rybalka.tv эту технологию уже не буду использовать, т.к. в MaxSite CMS, а точнее в CodeIgniter есть свой функционал для установки водяных знаков на фото.

  4. Цитировать alexander

    да действительно интересное решение

  5. Цитировать slaFFik

    Попробую себе вставить в шаблон, я так понимаю, что в файл functions.php? или надо совместить этот файл и style.css?

  6. Цитировать Илья

    Кстати подобное придумали примерно лет 10 назад .:

Добавить комментарий