powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] Проблема с графикой
25 сообщений из 31, страница 1 из 2
[PHP] Проблема с графикой
    #37826920
hemoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
 <?php   
     if (! extension_loaded('gd')) { // Проверяем установку библиотеки GD
        echo 'GD не установлено. Обратитесь к администратору вашего сайта!';
        exit;
    }
    $sOrigImg = "label.png";
    $aImgInfo = getimagesize($sOrigImg);
    if (is_array($aImgInfo) && count($aImgInfo)) {
        header ("Content-type: image/png");  <!!!!--- Ругается варом и не отображает, хотя недавно все было нормально
        $iSrcWidth = $aImgInfo[0];
        $iSrcHeight = $aImgInfo[1];
		
        $rImage = imagecreatetruecolor($iSrcWidth, $iSrcHeight); // Создаем новоео изображение
		$transparent = imagecolorallocatealpha($rImage, 0, 0, 0, 127);
		imagefill($rImage, 0, 0, $transparent); 
		imagesavealpha($rImage, true); 
        $rImage3 = imagecreatetruecolor($iSrcWidth, $iSrcHeight); // Создаем новоео изображение
		$transparent = imagecolorallocatealpha($rImage3, 0, 0, 0, 127);
		imagefill($rImage3, 0, 0, $transparent); 
		imagesavealpha($rImage3, true); 

		$rImage2 = imagecreatetruecolor($iSrcWidth, $iSrcHeight); // Создаем новоео изображение
        $rSrcImage = imagecreatefrompng($sOrigImg); //  Создаем исходное изображение
       imagecopy($rImage2, $rSrcImage, 0, 0, 0, 0, $iSrcWidth, $iSrcHeight); // Копируем полученное изображение на изображение-источник
		
 
// Create some colors
$white = imagecolorallocate($rImage, 255, 255, 255);
 

$text = 'Тест1';
$text2 = 'Тест2';
$textl=str_replace(" ","",$text);
$textl2=str_replace(" ","",$text2);
$l = strlen($textl)*12.5;
$l2 = strlen($textl2)*11;

	$black = imagecolorallocate($rImage,0,0,0);
$font = '5200.ttf';
	$font_size = 34;	
	$font_size2 = 32;	
	$xPos=0;
	$yPos=50;
	$yPos2=420;
  	imagettftext($rImage,$font_size,0,$xPos, $yPos-1,$black,$font,$text);
	imagettftext($rImage,$font_size,0,$xPos-1,$yPos,$black,$font,$text);
	imagettftext($rImage,$font_size,0,$xPos,$yPos+1,$black,$font,$text);
	imagettftext($rImage,$font_size,0,$xPos+1,$yPos,$black,$font,$text);
	imagettftext($rImage,$font_size,0,$xPos, $yPos,$white, $font, $text);
	
	imagettftext($rImage3,$font_size2,0,$xPos, $yPos2-1,$black,$font,$text2);
	imagettftext($rImage3,$font_size2,0,$xPos-1,$yPos2,$black,$font,$text2);
	imagettftext($rImage3,$font_size2,0,$xPos,$yPos2+1,$black,$font,$text2);
	imagettftext($rImage3,$font_size2,0,$xPos+1,$yPos2,$black,$font,$text2);
	imagettftext($rImage3,$font_size2,0,$xPos, $yPos2,$white, $font, $text2);

         imagecopy($rImage2, $rImage, $iSrcWidth/2-($l)   <!!!!---- извращался что бы слово было по середине, но не помогло, от части только , как сделат ьпо середине!?, 0, 0, 0, $iSrcWidth, $iSrcHeight); // Копируем полученное изображение на изображение-источник
		 
		 imagecopy($rImage2, $rImage3, $iSrcWidth/2-($l2), 0, 0, 0, $iSrcWidth, $iSrcHeight);

    imagepng($rImage2); // Выводим изображение
	//imagedestroy($rImage2);
    } else {
        echo 'Что-то не так с изобржаением!';
        exit;
    }
	?>
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37826948
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37827572
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hemoy,
автор
Код: php
1.
header ("Content-type: image/png");  <!!!!--- Ругается варом и не отображает

Чего говорит то? Нам отсюда не видно.
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37827575
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
header already sent ?)
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37827584
hemoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\bookru.ru\www\s\img.php:1) in Z:\home\bookru.ru\www\s\img.php on line 9
‰PNG IHDRёёёЁeд IDATxњмќg\GЗgчzЃгЋЮ«H±WPм]Ј‰MФ��УЊiFЌcЊcў‰=1j4±‡Ё±K¤ "‚Ђф^®ч~»ыјё„бо8ёјпЗІ;»чЫЩЩЯОNщ„a°c§зsрLeС“ЂоVa§ww·;v¬ѓZ‰лn vz-vЈґУё—[VWеЮЭ*мфZмFi§7 “ЋШЭ*мфZмFi§7 PЪ›Ънt"vЈґУh¬!u·;Ѕш§Я+w¬лnvмXЃ„v·;Ѕё$/АСYcчJ;=Йюйm§Ѓ…9ЃЋОљч?»¶`Б‚АААААА
<|ш°»µЩ±c.xўЅFi§щ·ЌтиЮгч®}6gОњЫ·oЯѕ}{Оњ9+W®ьв‹/єWњ;fўСu·;ЅђqяЛ>ейййНk”йййеее_~щew+м‘ ТЭz9-rёѕ†Т]Jм<аyњ<1пфблЩЎщЃpшрбШШШ3fфлЧЇ»фu jµzЪґi7oЮlѕ‘JҐЮјysШ°a-ущьmЫ¶]ѕ|№ѕѕЮГГcшрбsжМ™6mZS"rраБдддџ~ъ‰Б`tС5фДbсоЭ»Пћ=[^^ожж5cЖЊ9sжёєє6ҐQ*•Г† ытЛ/§NќЄЯвpєZj}mЪ№“ґZYуЌЄЫ‹ЇЬgІъшаѓ+W®xyy566¦¦¦?~ьХW_]ѕ|щвЕ‹ГВВЦ®]‹aШґiУъфйsтдЙДДDЛE¶AђuлЦнЮЅ»Ец€€€њњњпј&.\ё°xсb…BС|#ЏПККкЯї{“5G©T®\№тД‰-¶гсшммlу_ґ>њ>}ълЇїюыпїq8њ'Oћ\ѕ|yэъхѓ^№reBB‡Г4hР[·>эфУГ‡џ>}љD"Q©я/ :ќтFТКВ'-Е@юҐWS=ј™)Ж4yїЉШыщьz‡жЫЩlцИ‘#c‡цсcмX C’o®{�Стц±\"–¬МЃaГ·ПetMVЫ0§1;66VяЗК•+§_=бьЉ+ф[bbbrrr AЦЉ&/3Ѕ·SOёtйRЁ eЯѕ}эхЧG}4lШ°?ь°ybAъфйугЏ?¶¶3Ќ¦DУТТф[nЭєµrеКМММ>ш Oџ>4-88ше—_ѕpбBQQ‘‡‡ЗІeЛX,–ѕЙbСўE6l0цљйЂЪ&НлЦуттjќ!їяю»ЇЇЇV«m}Ф…
Nџ>НбpZўP(–,Yтшсгv%kЋR©|уН7'L�РZЏBЎXёpa^^ћ‰hвЮЅ{
.LIIЩёqcdd$…Bсччџ:uкЃjkk—-[vфиQ//Ї±cЗ8p`АЂWЇ^=ztLLЊZF4я–ќNyпъ›џ¬3 FVзѕYW“bЋУ”]ЄЇШyеК•цpwwїyуfкќ—№lyфцtkЭK/ё}Йw?ьЅ/Љё}6(ЈkІЪFЂЬ=гюјґР AOOПДйЧPTwзкЊєє:@ffж›oѕ™™™iаHВZUиљ6љЮkXЉ5NёtйТ„„„ҐK—6mQ*•kЧ®¬¬=zфиСЈSRRШlц7Я|ЈЯЫ·oЯхлЧїьтЛЖT•••Ќ5*%%ЏЗЏ1вбГ‡НїЫD«ХЋ9rпЮЅC† iЅ·Ѕj›@dК”)^^^?эф‰фМXлO>щD§Уµ>°kЧ®'N\ѕ|ЩЧЧ·щцЊЊЊщузWUUµ+Ys”JеИ‘#ЗЋ»}ыцхЩ”””%K–”••µ>Є9555#FЊИММtwoЯ”нsзОќ:u*qЮо’эќNyъз‘‹“џџ?tXьтХ58\ЗЁЧTЮyьаЌддdR............ Почему так выводится?
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37827588
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перед <?php не должно быть пробелов и вообще ничего.
файл не должен быть в кодировке с BOM
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37827612
hemoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

С пробелом помогло, а как отцентрировать по середине? создать текст как картинки, и потом их накладывать на середину как ватемарк или можно сразу

Код: php
1.
imagecopy($rImage2, $rImage, $iSrcWidth/2-($l), 0, 0, 0, $iSrcWidth, $iSrcHeight); // Копируем полученное изображение на изображение-источник



тут рассчитывать середину $iSrcWidth
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37827631
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
рассчитайте ширину текста в пискелях
найдите разность ширины изображения и текста
рисуте текст со смещением 1/2 разности ширин от левого края
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37827641
hemoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
$text = 'Тест1';
$text2 = 'Тест2';
$textl=str_replace(" ","",$text);
$textl2=str_replace(" ","",$text2);
$l = strlen($textl)*12.5;
$l2 = strlen($textl2)*11;


	$font_size = 34;	
	$font_size2 = 32;	



вот тут я чет и колдовал)

Код: php
1.
imagecopy($rImage2, $rImage, $iSrcWidth/2-($l), 0, 0, 0, $iSrcWidth, $iSrcHeight);
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37827670
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с каких пор все буквы стали одинаково ширины?
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37827672
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возьмите тогда шрифт монотайпный, если не хотите читать что вам пишут.
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37827684
hemoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett,

как расчитать ширину текста в пикселях?
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37827714
hemoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hemoy,
Код: php
1.
         imagecopy($rImage2, $rImage, ($iSrcWidth-$l)/2, 0, 0, 0, $iSrcWidth, $iSrcHeight); 




Код: php
1.
2.
3.
4.
5.
6.
$text = 'Пошеddeeeeeeeedл ';
$text2 = 'Ноd eeeeeeeeeeeeпотл';
$textl=str_replace(" ","",$text);
$textl2=str_replace(" ","",$text2);
$l = strlen($textl)*12.5;
$l2 = strlen($textl2)*11; - как по умному рассчитать ширину текста в пикселях? а так почти все получается
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37827906
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hemoyHett,

как расчитать ширину текста в пикселях?

второе сообщение в этой теме прочитайте уже наконец
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37828090
hemoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
<?php
     if (! extension_loaded('gd')) { // Проверяем установку библиотеки GD
        echo 'GD не установлено. Обратитесь к администратору вашего сайта!';
        exit;
    }
	if (isset($_POST['mem'])) {

	$texttop=$_POST['texttop'];

	$textbottom=$_POST['textbottom'];
	$texttop=trim($texttop);
	$textbottom=trim($textbottom);
	$texttop = stripslashes($texttop);
	$texttop = htmlspecialchars($texttop);
	$textbottom = stripslashes($textbottom);
	$textbottom = htmlspecialchars($textbottom);
    $sOrigImg = "label.png";
    $aImgInfo = getimagesize($sOrigImg);
    if (is_array($aImgInfo) && count($aImgInfo)) {

        $iSrcWidth = $aImgInfo[0];
        $iSrcHeight = $aImgInfo[1];

		$rImage = imagecreatetruecolor($iSrcWidth, $iSrcHeight); 
		$transparent = imagecolorallocatealpha($rImage, 0, 0, 0, 127);
		imagefill($rImage, 0, 0, $transparent);
		imagesavealpha($rImage, true);
        $rImage3 = imagecreatetruecolor($iSrcWidth, $iSrcHeight);
		$transparent = imagecolorallocatealpha($rImage3, 0, 0, 0, 127);
		imagefill($rImage3, 0, 0, $transparent);
		imagesavealpha($rImage3, true);

		$rImage2 = imagecreatetruecolor($iSrcWidth, $iSrcHeight); // Создаем новоео изображение
        $rSrcImage = imagecreatefrompng($sOrigImg); //  Создаем исходное изображение
       imagecopy($rImage2, $rSrcImage, 0, 0, 0, 0, $iSrcWidth, $iSrcHeight); // Копируем полученное изображение на изображение-источник



$white = imagecolorallocate($rImage, 255, 255, 255);


$text1 = $texttop;
$text2 = $textbottom;



	$black = imagecolorallocate($rImage,0,0,0);
    $font = '5200.ttf';
	$font_size = 32;
	$font_size2 = 32;



$bbox1 = imagettfbbox($font_size, 0, $font, $text1);
$bbox2 = imagettfbbox($font_size, 0, $font, $text2);
$xPos1 = $bbox1[0] + (imagesx($rImage) / 2) - ($bbox1[4] / 2) ;
$yPos1 = $bbox1[1] + (imagesy($rImage) / 2) - ($bbox1[5] / 2) -200;
$xPos2 = $bbox2[0] + (imagesx($rImage3) / 2) - ($bbox2[4] / 2) ;
$yPos2 = $bbox2[1] + (imagesy($rImage3) / 2) - ($bbox2[5] / 2) +200;

  	imagettftext($rImage,$font_size,0,$xPos1, $yPos1-1,$black,$font,$text1);
	imagettftext($rImage,$font_size,0,$xPos1-1,$yPos1,$black,$font,$text1);
	imagettftext($rImage,$font_size,0,$xPos1,$yPos1+1,$black,$font,$text1);
	imagettftext($rImage,$font_size,0,$xPos1+1,$yPos1,$black,$font,$text1);
	imagettftext($rImage,$font_size,0,$xPos1, $yPos1,$white, $font, $text1);

	imagettftext($rImage3,$font_size2,0,$xPos2, $yPos2-1,$black,$font,$text2);
	imagettftext($rImage3,$font_size2,0,$xPos2-1,$yPos2,$black,$font,$text2);
	imagettftext($rImage3,$font_size2,0,$xPos2,$yPos2+1,$black,$font,$text2);
	imagettftext($rImage3,$font_size2,0,$xPos2+1,$yPos2,$black,$font,$text2);
	imagettftext($rImage3,$font_size2,0,$xPos2, $yPos2,$white, $font, $text2);
	$x1 = imagesx($rImage);
	$y1 = imagesy($rImage);
	$x2 = imagesx($rImage3);
	$y2 = imagesy($rImage3);


         imagecopy($rImage2, $rImage,  0 , 0,0,0, $x1, $y1); 
		 imagecopy($rImage2, $rImage3,  0 , 0,0,0, $x2, $y2);

    header ("Content-type: image/png");
    imagepng($rImage2); // Выводим изображение
	imagedestroy($rImage2);
    } else {
        echo 'Что-то не так с изобржаением!';
        exit;
    }

		} else { echo'<a href="http://makeitpro.ru/genmem" title="Сгенерировать" target="_blank" >Сгенерировать</a>';}
	?>




Спасибо большое, но не могу понять почему используются именно такие индексы у массива
Код: php
1.
2.
3.
$bbox1 = imagettfbbox($font_size, 0, $font, $text1);
$xPos1 = $bbox1[0] + (imagesx($rImage) / 2) - ($bbox1[4] / 2) ;
$yPos1 = $bbox1[1] + (imagesy($rImage) / 2) - ($bbox1[5] / 2) -200;



работа скрипта http://makeitpro.ru/genmem/
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37828168
hemoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а есть способ оптимально обводить текст и еще, как сделать например, если текст длинный то уменьшить шрифт и разбить его на две части
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37828210
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hemoy,

Это уже чистой воды математика. Надо начинать с определения понятий "длинный", "уменьшить". На сколько уменьшить? Каковы ограничения на размер, так чтобы текст оставался читаемым? Почему на две части, а мож на три придется поделить или на четыре? А не вылезет текст за пределы картинки? Вопросов тут слишком много, и отвечать на них придется Вам ))) Описывайте условия, ограничения, составляйте алгоритм обработки всей этой байды. И все получится ))
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37828240
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторСпасибо большое, но не могу понять почему используются именно такие индексы у массива
Вы кроме названия функции на этой странице прочитали еще что-нибудь? )
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 0 нижний левый угол, X координата 
 1 нижний левый угол, Y координата 
2 нижний правый угол, X координата
3 нижний правый угол, Y координата
4 верхний правый угол, X координата
5 верхний правый угол, Y координата
6 верхний левый угол, X координата
7 верхний левый угол, Y координата
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37828241
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну да, что-то не то, ну вы не копируйте бездумно, пишите сами)
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37828363
hemoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
<?php
     if (! extension_loaded('gd')) { // Проверяем установку библиотеки GD
        echo 'GD не установлено. Обратитесь к администратору вашего сайта!';
        exit;
    }
	if (isset($_POST['mem'])) {
        $font = '5200.ttf';
	$texttop=$_POST['texttop'];

	$textbottom=$_POST['textbottom'];
	$texttop=trim($texttop);
	$textbottom=trim($textbottom);
	$texttop = stripslashes($texttop);
	$texttop = htmlspecialchars($texttop);
	$textbottom = stripslashes($textbottom);
	$textbottom = htmlspecialchars($textbottom);
    $sOrigImg = "label.png";
    $aImgInfo = getimagesize($sOrigImg);
    if (is_array($aImgInfo) && count($aImgInfo)) {

        $iSrcWidth = $aImgInfo[0];
        $iSrcHeight = $aImgInfo[1];

		$rImage = imagecreatetruecolor($iSrcWidth, $iSrcHeight); 
		$transparent = imagecolorallocatealpha($rImage, 0, 0, 0, 127);
		imagefill($rImage, 0, 0, $transparent);
		imagesavealpha($rImage, true);
        $rImage3 = imagecreatetruecolor($iSrcWidth, $iSrcHeight);
		$transparent = imagecolorallocatealpha($rImage3, 0, 0, 0, 127);
		imagefill($rImage3, 0, 0, $transparent);
		imagesavealpha($rImage3, true);

		$rImage2 = imagecreatetruecolor($iSrcWidth, $iSrcHeight); // Создаем новоео изображение
        $rSrcImage = imagecreatefrompng($sOrigImg); //  Создаем исходное изображение
       imagecopy($rImage2, $rSrcImage, 0, 0, 0, 0, $iSrcWidth, $iSrcHeight); // Копируем полученное изображение на изображение-источник



    
	$font_size = 32;
	$font_size2 = 32;
$text1 = $texttop;




$text2 = $textbottom;


function creatText($rImage, $text1, $rImage2,$font_size,$font,$kory1,$flag){
    
$d=explode(" ",$text1);
$ss[]="";
$j=0;
foreach ($d as $i){
   if ( strlen($ss[$j]) < 20) {
    
    $ss[$j]=$ss[$j]." ".$i;
   } else { $j=$j+1;}
    
}   
    $white = imagecolorallocate($rImage, 255, 255, 255);
    $black = imagecolorallocate($rImage,0,0,0);
    $count=0;
    foreach ($ss as $ii)  {
    $bbox1 = imagettfbbox($font_size, 0, $font, $ii);
    $xPos1 = $bbox1[0] + (imagesx($rImage) / 2) - ($bbox1[4] / 2) ;
    $yPos1 = $bbox1[1] + (imagesy($rImage) / 2) - ($bbox1[5] / 2) -($kory1-$countt);
	$x1 = imagesx($rImage);
	$y1 = imagesy($rImage);

  	imagettftext($rImage,$font_size,0,$xPos1, $yPos1-1,$black,$font,$ii);
	imagettftext($rImage,$font_size,0,$xPos1-1,$yPos1,$black,$font,$ii);
	imagettftext($rImage,$font_size,0,$xPos1,$yPos1+1,$black,$font,$ii);
	imagettftext($rImage,$font_size,0,$xPos1+1,$yPos1,$black,$font,$ii);
	imagettftext($rImage,$font_size,0,$xPos1, $yPos1,$white, $font,$ii);
    imagecopy($rImage2, $rImage,  0 , 0,0,0, $x1, $y1); 
    if ($flag=="+") {
    $countt=$countt+40;} elseif ($flag=="-") { $countt=$countt-40;} else {};
}


}


creatText ($rImage, $text1, $rImage2,$font_size,$font,+180,"+");
creatText ($rImage3, $text2, $rImage2,$font_size,$font,-160,"-");

    header ("Content-type: image/png");
    imagepng($rImage2); // Выводим изображение
	imagedestroy($rImage2);
    } else {
        echo 'Что-то не так с изобржаением!';
        exit;
    }

		} else { echo'<a href="http://makeitpro.ru/genmem" title="Сгенерировать" target="_blank" >Сгенерировать</a>';}
	?>



Наброски, вроде работают , что можно еще улучшить?
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37828384
hemoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4 слово пропадает, не могу понять почему
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37828386
hemoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в цикле массива ss ошибка, нашел)
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37828391
hemoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
<?php
     if (! extension_loaded('gd')) { // Проверяем установку библиотеки GD
        echo 'GD не установлено. Обратитесь к администратору вашего сайта!';
        exit;
    }
	if (isset($_POST['mem'])) {
        $font = '5200.ttf';
	$texttop=$_POST['texttop'];

	$textbottom=$_POST['textbottom'];
	$texttop=trim($texttop);
	$textbottom=trim($textbottom);
	$texttop = stripslashes($texttop);
	$texttop = htmlspecialchars($texttop);
	$textbottom = stripslashes($textbottom);
	$textbottom = htmlspecialchars($textbottom);
    $sOrigImg = "label.png";
    $aImgInfo = getimagesize($sOrigImg);
    if (is_array($aImgInfo) && count($aImgInfo)) {

        $iSrcWidth = $aImgInfo[0];
        $iSrcHeight = $aImgInfo[1];

		$rImage = imagecreatetruecolor($iSrcWidth, $iSrcHeight); 
		$transparent = imagecolorallocatealpha($rImage, 0, 0, 0, 127);
		imagefill($rImage, 0, 0, $transparent);
		imagesavealpha($rImage, true);
        $rImage3 = imagecreatetruecolor($iSrcWidth, $iSrcHeight);
		$transparent = imagecolorallocatealpha($rImage3, 0, 0, 0, 127);
		imagefill($rImage3, 0, 0, $transparent);
		imagesavealpha($rImage3, true);

		$rImage2 = imagecreatetruecolor($iSrcWidth, $iSrcHeight); // Создаем новоео изображение
        $rSrcImage = imagecreatefrompng($sOrigImg); //  Создаем исходное изображение
       imagecopy($rImage2, $rSrcImage, 0, 0, 0, 0, $iSrcWidth, $iSrcHeight); // Копируем полученное изображение на изображение-источник



    
	$font_size = 32;
	$font_size2 = 32;
$text1 = $texttop;




$text2 = $textbottom;


function creatText($rImage, $text1, $rImage2,$font_size,$font,$kory1,$flag){
    
$d=explode(" ",$text1);
$ss[]="";
$j=0;
foreach ($d as $i){
   if ( strlen($ss[$j]) < 24) {
    
    $ss[$j]=$ss[$j]." ".$i;
   } else { $j=$j+1;$ss[$j]=$ss[$j]." ".$i;}
    
}

if ($flag=="-") {$ss=array_reverse($ss );}
   
    $white = imagecolorallocate($rImage, 255, 255, 255);
    $black = imagecolorallocate($rImage,0,0,0);
    $count=0;
    foreach ($ss as $ii)  {
    $bbox1 = imagettfbbox($font_size, 0, $font, $ii);
    $xPos1 = $bbox1[0] + (imagesx($rImage) / 2) - ($bbox1[4] / 2) ;
    $yPos1 = $bbox1[1] + (imagesy($rImage) / 2) - ($bbox1[5] / 2) -($kory1-$countt);
	$x1 = imagesx($rImage);
	$y1 = imagesy($rImage);

  	imagettftext($rImage,$font_size,0,$xPos1, $yPos1-1,$black,$font,$ii);
	imagettftext($rImage,$font_size,0,$xPos1-1,$yPos1,$black,$font,$ii);
	imagettftext($rImage,$font_size,0,$xPos1,$yPos1+1,$black,$font,$ii);
	imagettftext($rImage,$font_size,0,$xPos1+1,$yPos1,$black,$font,$ii);
	imagettftext($rImage,$font_size,0,$xPos1, $yPos1,$white, $font,$ii);
    imagecopy($rImage2, $rImage,  0 , 0,0,0, $x1, $y1); 
    if ($flag=="+") {
    $countt=$countt+40;} elseif ($flag=="-") { $countt=$countt-40;} else {};
}


}


creatText ($rImage, $text1, $rImage2,$font_size,$font,+180,"+");
creatText ($rImage3, $text2, $rImage2,$font_size,$font,-160,"-");

    header ("Content-type: image/png");
    imagepng($rImage2); // Выводим изображение
	imagedestroy($rImage2);
    } else {
        echo 'Что-то не так с изобржаением!';
        exit;
    }

		} else { echo'<a href="http://makeitpro.ru/genmem" title="Сгенерировать" target="_blank" >Сгенерировать</a>';}
	?>
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37828409
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор: hemoy , километры кода под спйлер прятайте, а то обсуждения за ними не видно ))
...
Рейтинг: 0 / 0
[PHP] Проблема с графикой
    #37828414
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Няшу бррр напоминает
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] Проблема с графикой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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