Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Контур прозрачному тексту / 7 сообщений из 7, страница 1 из 1
18.10.2012, 09:19:31
    #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
18.10.2012, 09:23:35
    #38003608
r u
r u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контур прозрачному тексту
ну так не делайте контур прозрачным
Код: php
1.
$red = imagecolorallocatealpha($main_img_obj, 255, 0, 0, 0); // красный
...
Рейтинг: 0 / 0
18.10.2012, 09:24:57
    #38003609
SeeJay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контур прозрачному тексту
r u,
Тогда вообще тупо заливается красным. А надо что бы этот контур был и синий не сливался с красным.
...
Рейтинг: 0 / 0
18.10.2012, 09:28:29
    #38003613
SeeJay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контур прозрачному тексту
Кстати если сам текст сделать непрозрачным то то же все нормально будет!
...
Рейтинг: 0 / 0
18.10.2012, 09:47:56
    #38003643
r u
r u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контур прозрачному тексту
SeeJay,

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

что вы хотите то тут услышать?
если делать цвета прозрачными - они любые будут сливаться
...
Рейтинг: 0 / 0
18.10.2012, 10:12:35
    #38003710
SeeJay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Контур прозрачному тексту
r u,
Вы не поняли! Мне нужен прозрачный контур и прозрачная внутренность.
У меня есть идея как это сделать но пока туго с реализацией. Наверное надо отдельно делать обводку и только потом указывать прозрачность уже как бы целой картинки.
...
Рейтинг: 0 / 0
18.10.2012, 10:46:46
    #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
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Контур прозрачному тексту / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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