gd ???

5 отговора 170 прегледа
#1

gd ???

Как да стане това: имам няколко картинки и при определени условия искам две от тях да се залепят една до друга. Пробвах разни варианти с текст като:

$txt = "$txt1"."$txt2";
ImageString($img,5,1,0,$txt,$text_color);

и в общи линии се получава, обаче ако искам $txt1 да е с различен по големина шрифт от $txt2 не става, или пък ако искам единия текст да се появява под другия... Знам че има php функции, и то доста но нещо няма конкретни примери и не ми става ясно как да го използвам. На хоста имам инсталирано gd версия 2 или по-голяма.

Цяла нощ си изгубих с тия глупости.

Отговор
в отговор на burov #2

Re: gd ???

Ne sum rabotils GD library , no ne e dostata4no da imash GD na hosta.
Trqbva da kompilirash PHP s GD library.Togava shte mojesh da ba4kash s tezi funkcii opisani v dokumentaciqta.
Mejdu drugoto kato pusnesh da tarsish nqkoq funkicq v sajta na php.net ima user comments koito ponqkoga sa dosta polezni.

Uspeh

Отговор
в отговор на burov #3

Re: gd ???

vij, moje bi ednoto ot tiah shte ti svurshi rabota
1. imagepstext za postscript
2. imagettftext za true type - no triabva da imash instalirana freetype biblioteka
3. image load font - za userdefined fontove kato bitmap koito mojesh da polzvash s imagetext.

ne mojesh da zadadesh kakto v tvoia primer $txt1 i $txt2 da sa s razlichen font v $txt ili cviat, shte triabva da izpalniavash imagestring otdelno za vsiaka promenliva kakto i za text edno pod drugo.

predi malko poglednah .. vsichko tova go ima v dokumentacia.

puffff

Редактирано от xc на

Отговор
в отговор на xc #4

Re: gd ???

gluposti nishto ne triabva da kompilirash za da ti raboti GD
prosto triabva da uncomment-nesh extensiona na GD vuv php.ini

Отговор
в отговор на DEEM #5

Re: gd ???

da sum kazal neshto po tozi povod ?

puffff
Отговор
в отговор на xc #6

решението

Благодаря на всички, които писаха по поставения от мен въпрос.

Решението:

<?
// send header
Header("Content-Type: image/jpeg");

// create image and colours
$im = ImageCreate(130, 45);
$black = ImageColorAllocate($im, 0, 0, 0);
$white = ImageColorAllocate($im, 255, 255, 255);

// fill image
ImageFill($im, 0, 0, $black);

ImageString($im, 4, 5, 5, "Top 100", $white);
ImageString($im, 4, 5, 25, "$ct", $white);
ImageString($im, 5, 100, 15, "$rank", $white);

// release image
Imagejpeg($im);
?>

Стойностите на променливите $ct и $rank съм задал в друг скрипт който се свързва с този. За да се получи текст на няколко реда, се използват отдени ImageString, както каза xc.

Оказа се че това нещо GD lib има доста функции, не само да рисува, но например може и диаграми да чертае, абе хубаво нещо си е, ама трябва учене.

Отговор