Проблем с GD

AnTrakS

Member
Здравейте! Имам нужда от огроомна помощ! Имам дадена снимка в jpeg формат, която използвам за шаблон. В база от данни имам съхранени текстове, които искам да ги въведа с дадената картинка. Всичко ОК, до момента, в който текста се оказва прекалено дълъг и не се хваща в самата картинка(най-вече на височина). Какви ли не варианти пробвах и все не се справям. НЕИСКАМ текста да се ограничава, а по възможност да се показва целият, независимо от дължината му.

Ето и кода, който използвам в момента(който и ограничава дължината на текста...)

Код:
<?php
....
function subtext($subname, $max){
		if(strlen($subname) > $max){
			return substr($subname, 0 ,$max)."...";
		} else {
			return $subname;
		}
}
/ sql /
if(file_exists($img)) {
//Настройки за шаблон
switch($sid) {
case "1": $fontsize = 40; $textcolor = "0x000000"; $middle = "20"; $center = "50"; $wrap = 23;
break;
case "2": $fontsize = 50; $textcolor = "0x000000"; $middle = "20"; $center = "430"; $wrap = 36;
break;
}
//
$rImg = ImageCreateFromJPEG($img);
$cor = imagecolorallocate($rImg, 0, 0, 0);
$font = '/fonts/14097.ttf';
imagettftext($rImg, $fontsize, 0, $middle, $center, $textcolor, $font,subtext(wordwrap($show, $wrap, "\n"), $maxchars));
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=\"shablon.jpg\" ");
imagejpeg($rImg,NULL,100);
} else {
die("Няма такъв шаблон!");
}
?>
 
От: Проблем с GD

Здравейте! Имам нужда от огроомна помощ! Имам дадена снимка в jpeg формат, която използвам за шаблон. В база от данни имам съхранени текстове, които искам да ги въведа с дадената картинка. Всичко ОК, до момента, в който текста се оказва прекалено дълъг и не се хваща в самата картинка(най-вече на височина). Какви ли не варианти пробвах и все не се справям. НЕИСКАМ текста да се ограничава, а по възможност да се показва целият, независимо от дължината му.

Ето и кода, който използвам в момента(който и ограничава дължината на текста...)

Код:
<?php
....
function subtext($subname, $max){
		if(strlen($subname) > $max){
			return substr($subname, 0 ,$max)."...";
		} else {
			return $subname;
		}
}
/ sql /
if(file_exists($img)) {
//Настройки за шаблон
switch($sid) {
case "1": $fontsize = 40; $textcolor = "0x000000"; $middle = "20"; $center = "50"; $wrap = 23;
break;
case "2": $fontsize = 50; $textcolor = "0x000000"; $middle = "20"; $center = "430"; $wrap = 36;
break;
}
//
$rImg = ImageCreateFromJPEG($img);
$cor = imagecolorallocate($rImg, 0, 0, 0);
$font = '/fonts/14097.ttf';
imagettftext($rImg, $fontsize, 0, $middle, $center, $textcolor, $font,subtext(wordwrap($show, $wrap, "\n"), $maxchars));
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=\"shablon.jpg\" ");
imagejpeg($rImg,NULL,100);
} else {
die("Няма такъв шаблон!");
}
?>

Опитай с промяна на шрифта и настройките за него.
 
От: Проблем с GD

Опитах, но всеки текст е с различна дължина, съответно не се получава...
 
От: Проблем с GD

Опитах, но всеки текст е с различна дължина, съответно не се получава...

В случая твоят текст е по-голям от позволения който създателя на скрипта е преценил, и според мен няма да успееш да хванеш текста в дадената картинка. За тази цел е словено и правилото по-долу, което гласи. Ако текста в картинката е по-дълъг от определения максимум брой символи които подаваш при повикване на функцията да бъде ограничен до толкова колкото трябва да бъдат.
Ако бъркам нещо сори, но тази вечер малко разпусната. Та като гледам скрипта не е писан от теб, по простата причина, че ако беше нямаше да питаш как да оправиш проблем, а просто щеше да го оправиш. Следователно е взет от някой сайт, и предполагам той не е БГ. или не го е писал бг програмист, което трябва веднага да те наведе на логиката, че между бг и англоезичните азбуки има много разлика.

Сори пак, но в момента не мога да помогна с нещо повече освен това да ти кажа, че няма как да хванеш целия текст, ако е прекалено дълъг.

PHP:
if(strlen($subname) > $max){
			return substr($subname, 0 ,$max)."...";
		} else {
			return $subname;
		}
 
От: Проблем с GD

Скрипта съм си го писал аз, цялата работа идва от там, че ползвам готова снимка(и), която я наричам шаблон. Нищо не ми пречи иначе да си генерирам чрез GD-то,но резултата няма да е това, което искам и ми трябват точно определени снимки, където искам да вкарам текста(и място разбира се)
 
От: Проблем с GD

Скрипта съм си го писал аз, цялата работа идва от там, че ползвам готова снимка(и), която я наричам шаблон. Нищо не ми пречи иначе да си генерирам чрез GD-то,но резултата няма да е това, което искам и ми трябват точно определени снимки, където искам да вкарам текста(и място разбира се)

Братле утре ще погледна повече, и дано да мога да съм полезен, но сега лягам, че вече не издържам. :)
 

Горе