Ocena wątku:
  • 2 głosów - średnia: 3
  • 1
  • 2
  • 3
  • 4
  • 5
Łamanie linii w PHP:GD
#1
Witam,
Otóż na swoją stronę stworzyłem skrypt tworzący obrazek z dodanego przez użytkowników tekstu. Niestety tekst mieści się tylko w jednej linijce i nie chce przeskoczyć do następnych. Ja natomiast chciałbym aby tekst w zależności od jego ilości rozkładał się na linijki. Co zrobić? To się chyba nazywa łamanie linii jednak nigdzie nie ma informacji na ten temat...
Odpowiedz
#2
Jedynym sposobem jest zrobienie tego na poziomie PHP (wygląda na te że GD nie ma pełnej obsługi formatowania tekstu), napisz funkcje która z zadanego stringa zrobi ci zmienna tablicową dzieląc go po zadanej ilości znaków, sprawdzaj tylko też czy aktualny znak to spacja, nastepnie wyświetlaj poszczególne elementy tej tablicy w pętli zwiększając zmienną Y dla każdej kolejnej.
Voila ! Masz łamanie linii w GD Smile
Odpowiedz
#3
Pewnie istnieją do tego biblioteki. Ogólnie to robiło się tak jak opisał to kolega wyżej, z tym że używało się też
http://php.net/manual/en/function.imagettfbbox.php
żeby określić czy dany string mieści się w danych wymiarach. Ale jak napisałem - jest pewnie do tego milion pińset bibliotek.
Odpowiedz
#4
Po co bawić się z bibliotekami?
Znalazłem taki skrypt:
Kod PHP:
$lines explode('|'wordwrap($text115'|'));
$y 10;
foreach (
$lines as $line)
{
    
imagettftext($image$font_size050$y$font_color$font$line);
    
$y += 23;

Działa i chwalę go sobie, ale nie raz gubi linie.
Tzn. co około 10 linijek "zapomina" dodać 23 do zmiennej $y.
Zastanawiam się czy to wina kodu, czy serwer nie wyrabia?
Serwer mam na 000webhost.
Dodam też, że mam tam skrypt który wyznacza kolor alpha na kolor w pozycji 0x0.
Skrypt szczególnie na okrągłych obiektach źle wycina piksele (poszarpane tło na bokach).
Odpowiedz
#5
E tam Smile Lepiej sprawdzić wielkość tekstu podaną przeze mnie funkcją. Dzięki temu masz emy, a to prosta droga do prawidłowego liczenia y.
y += em * 0.8 itp
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  łamanie praw i znaku towarowego cder 15 9,550 20-03-2012, 21:59
Ostatni post: urlsite
  Usuwanie ostatnich sześciu linii w php Urunmu 3 2,957 11-09-2011, 22:00
Ostatni post: Kartofelek
  Problem-łamanie praw autorskich MarcinG 0 1,335 02-04-2010, 23:06
Ostatni post: MarcinG
  Łamanie praw autorskich MarcinG 0 1,597 02-04-2010, 13:33
Ostatni post: MarcinG

Skocz do:


Użytkownicy przeglądający ten wątek:
Sponsorzy i przyjaciele
SeoHost.pl