powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Контур прозрачному тексту
7 сообщений из 7, страница 1 из 1
Контур прозрачному тексту
    #38003601
Фотография SeeJay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.
Помогите сделать прозрачный текст с контуром при этом что бы цвет контура не сливался с цветом текста.
Пытаюсь сделать вот так...
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
$red = imagecolorallocatealpha($main_img_obj, 255, 0, 0, $alpha_level); // красный
	
imagettftext($main_img_obj, $size, 0, $x, $y - 1, $red, $font, $text);
imagettftext($main_img_obj, $size, 0, $x - 1, $y, $red, $font, $text);
imagettftext($main_img_obj, $size, 0, $x, $y + 1, $red, $font, $text);
imagettftext($main_img_obj, $size, 0, $x + 1, $y, $red, $font, $text);
	
$c = imagecolorallocatealpha($main_img_obj, $r, $g, $b, $alpha_level); // Синий
	
imagettftext($main_img_obj,$size ,0, $x, $y, $c, $font, $text);


Но тогда красный сливается с синим и получается какая-то ерунда. Хотя без прозрачности этот метод работает.
...
Рейтинг: 0 / 0
Контур прозрачному тексту
    #38003608
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну так не делайте контур прозрачным
Код: php
1.
$red = imagecolorallocatealpha($main_img_obj, 255, 0, 0, 0); // красный
...
Рейтинг: 0 / 0
Контур прозрачному тексту
    #38003609
Фотография SeeJay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r u,
Тогда вообще тупо заливается красным. А надо что бы этот контур был и синий не сливался с красным.
...
Рейтинг: 0 / 0
Контур прозрачному тексту
    #38003613
Фотография SeeJay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати если сам текст сделать непрозрачным то то же все нормально будет!
...
Рейтинг: 0 / 0
Контур прозрачному тексту
    #38003643
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeeJay,

ну выберите другие цвета, которые больше отличаются. черный и белый например.

что вы хотите то тут услышать?
если делать цвета прозрачными - они любые будут сливаться
...
Рейтинг: 0 / 0
Контур прозрачному тексту
    #38003710
Фотография SeeJay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r u,
Вы не поняли! Мне нужен прозрачный контур и прозрачная внутренность.
У меня есть идея как это сделать но пока туго с реализацией. Наверное надо отдельно делать обводку и только потом указывать прозрачность уже как бы целой картинки.
...
Рейтинг: 0 / 0
Контур прозрачному тексту
    #38003767
Фотография SeeJay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал сам. Пользуйтесь...
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
$width 	= imagesx($main_img_obj);
	$height = imagesy($main_img_obj);
	$im 	= imagecreatetruecolor($width, $height);
	$black 	= imagecolorallocate($im, 0, 0, 0);
	
	imagecolortransparent($im, $black);
	
	$size = (($width+$height)/2)*2/strlen($text);
	$box  = imagettfbbox ( $size, 0, $font, $text );
	$x = $width/2 - abs($box[4] - $box[0])/2;
	$y = $height/2 + abs($box[5] - $box[1])/2;
	$red = imagecolorallocatealpha($im, 255, 0, 0, 0); // красный
	
	imagettftext($im, $size, 0, $x, $y - 1, $red, $font, $text);
	imagettftext($im, $size, 0, $x - 1, $y, $red, $font, $text);
	imagettftext($im, $size, 0, $x, $y + 1, $red, $font, $text);
	imagettftext($im, $size, 0, $x + 1, $y, $red, $font, $text);
	
	$c = imagecolorallocatealpha($im, $r, $g, $b, 0); // Синий
	
	imagettftext($im,$size ,0, $x, $y, $c, $font, $text);
	imagecopymerge($main_img_obj, $im, 0, 0, 0, 0, $width, $height, 70);
	
	return $main_img_obj;
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Контур прозрачному тексту
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]