Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

opet ovaj gd (centriranje i prelom teksta)

[es] :: PHP :: opet ovaj gd (centriranje i prelom teksta)

[ Pregleda: 2021 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Nemanja Avramović
Software architect
Tap medical
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4383
*.yu1.net.

Sajt: https://avramovic.info


+45 Profil

icon opet ovaj gd (centriranje i prelom teksta)24.06.2005. u 00:20 - pre 188 meseci
kako da centriram tekst na slici...? znaci php dobija parametar jedan tekst i njega ispisuje na slici koja je fiksne sirine (i visine)....

i da, kako prelomiti tekst (\n) koji se ispisuje na slici, ako je ikako moguce? ovo mi nije bitno, samo pitam informativno

p.s. primecuje se da radim sa gd-om u poslednje vreme, zar ne? :D

eh da, primetio sam kad kod f-je imagettftext stavim top i left na 0 i 0 i ne vidi mi se tekst... zasto? tek kad stavim na 20/20 vidi se (kad je velicina slova 20)
na koju foru to "radi"?
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

[email protected]
http://localhost

Član broj: 2597
Poruke: 1603

Sajt: localhost


+23 Profil

icon Re: opet ovaj gd (centriranje i prelom teksta)24.06.2005. u 06:16 - pre 188 meseci
Ja zam pozicioniranje teksta radio pomoću funkcije imagettfbbox() tako što pomoću nje izračunam veličinu tekst box-a pa zatim izračunavao poziciju na koju je potrebno postaviti.

Za prelom teksta nisam siguran da li postoji neka funkcija u php-u koja radi to, ali možda neko zna neko rešenje.

Za treće pitanje, pogledaj u php manualu:
Citat:
The coordinates given by x, y will define the basepoint of the first character (roughly the lower-left corner of the character).

Banned - Not available
 
Odgovor na temu

Nemanja Avramović
Software architect
Tap medical
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4383
*.yu1.net.

Sajt: https://avramovic.info


+45 Profil

icon Re: opet ovaj gd (centriranje i prelom teksta)24.06.2005. u 08:59 - pre 188 meseci
3) pa sto donji levi bre? kako sad da namestim da se uvek vidi tekst sto nije gornji levi... onda bi bilo lakse

1) eksperimentisacu malo sa imagettfbbox() ali ako ne skontam, eto mene opet

2) ok... ionako nije bitno

Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Nemanja Avramović
Software architect
Tap medical
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4383
*.yu1.net.

Sajt: https://avramovic.info


+45 Profil

icon Re: opet ovaj gd (centriranje i prelom teksta)24.06.2005. u 17:56 - pre 188 meseci
ne, nisam skontao sta i kako ovo radi... ja mu posaljem
Code:

imagettfbbox ( float size, float angle, string fontfile, string text)


...i on kreira negde tu sliku (mi je ne vidimo) i vrati mi koordinate tachaka... ali shta ja posle sa njima da radim da bih centrirao tekst... kontam ja da je ovo lako, ali neshto mi stao mozak

cek da probam:
1) izracunam razdaljinu izmedju X_gornje_desne i X_gornje_leve i dobijem sredishnju tachq, pa onda izracunam pola sirine celog teksta
2) uzmem polovinu moje slike
3) iscrtam tekst na pola_moje_slike - pola_sirine_teksta

jel' tako?
'ajde ja cu probati to, a vi recite jel' tako ili ne?
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Nemanja Avramović
Software architect
Tap medical
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4383
*.yu1.net.

Sajt: https://avramovic.info


+45 Profil

icon Re: opet ovaj gd (centriranje i prelom teksta)24.06.2005. u 18:08 - pre 188 meseci
e, nesto mi ne ide ... sad mi ne prikazuje sliku uopste :(

evo koda
Code:

//uzimam informacije
$code = $_GET["tekst"];
$size = $_GET["velicina"];
$rgb = hexdec($_GET['boja']) ;
$font_file = 'font.ttf'; //predefinisan font, uzimacu ga kroz opcije posle
//uzimam rgb
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
$myTextLen = (strlen($code)); //ne znam sta ce mi ovo :)

//kreiram sliku $safeemail (sve sam poceo od nekog primera da radim)
$safeemail = imagecreate(200,200);
$backcolor = imagecolorallocate($safeemail,255,255,255);
$textcolor = imagecolorallocate($safeemail,$r,$g,$b);
imagefill($safeemail,0,0,$backcolor);
imagecolortransparent($safeemail,$backcolor);

//uzmam koordinate tog ttf bounding box-a
$koordinate = imagettfbbox($size,0,$font_file,$code);
//rasporedjujem u posebne koordinate
gornja_desna_x = $koordinate[4]; //ne treba \\ gornja_desna_y = $koordinate[5];
gornja_leva_x = $koordinate[6]; //ne treba \\ gornja_leva_y = $koordinate[7];

//racunam sredinu
$sredina = $gornja_desna_x - $gornja_leva_x;

//pola od te duzine je:
$pola = $sredina - $gornja_leva_x;

//slika je siroka 200px, zato ide 100 - pola
$crtaj_x = 100 - $pola;

//crtam po slici
imagettftext($safeemail, $size, 0, $crtaj_x, $size+10, $textcolor, $font_file, $code);

//izbacujem sliq
header("Content-type: image/gif");
imagegif($safeemail);


Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

[email protected]
http://localhost

Član broj: 2597
Poruke: 1603

Sajt: localhost


+23 Profil

icon Re: opet ovaj gd (centriranje i prelom teksta)24.06.2005. u 20:18 - pre 188 meseci
Code:

$code = $_GET["tekst"];
$size = $_GET["velicina"];
$rgb = hexdec($_GET['boja']) ;
$font_file = 'font.ttf';
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
$safeemail = imagecreate(200,200);
$backcolor = imagecolorallocate($safeemail,255,255,255);
$textcolor = imagecolorallocate($safeemail,$r,$g,$b);
imagefill($safeemail,0,0,$backcolor);
imagecolortransparent($safeemail,$backcolor);
$koordinate = imagettfbbox($size,0,$font_file,$code);
$width = $koordinate[4] - $koordinate[6]; // moze i:  $koordinate[2] - $koordinate[0]
$posX = (200-$width)/2;
$posY = $size + 10; // kod tebe je ovako definisano, ja sam mislio da ti je potrebno i vertikalno da centriras tekst
imagettftext($safeemail, $size, 0, $posX, $posY, $textcolor, $font_file, $code);
header("Content-type: image/gif");
imagegif($safeemail);

Banned - Not available
 
Odgovor na temu

Nemanja Avramović
Software architect
Tap medical
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4383
*.yu1.net.

Sajt: https://avramovic.info


+45 Profil

icon Re: opet ovaj gd (centriranje i prelom teksta)25.06.2005. u 01:57 - pre 187 meseci
e, ne znam sta si mu uradio, ali ovako radi :)

p0z
i hvala

p.s. javicu se ja opet, ne brini ;)
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

[es] :: PHP :: opet ovaj gd (centriranje i prelom teksta)

[ Pregleda: 2021 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.