Autor Zpráva
Raketak
Profil *
Text si zalamuji a zobrazuji v obrázku:
$lines = explode('|', wordwrap($text, 55, '|'));
foreach ($lines as $line)
{
    $img->write($line, $x, $y, 0, 100);
    $y += 30;
}
A co nový řádek to souřadnice je o 30px níže. Bohužel mám ale problém s použitím textu s \n ... v obrázku se mě text nesmyslně použije :( Nevíte jak udělat to, že když text bude odentrovaný ... tj. se znakem \n, tak se to použije i v tom daném scriptu?
Borius
Profil
Pokud používáš knihovnu GD a text vykresluješ funkcí ImageString, pak jakýkoli zadaný text se vykreslí jako text. Bohužel i formátovací značky, které by v běžném textu nebo v HTML nesly určitý význam.
Řekl bych, že řešení máš přímo ve svém kódu:
$x je vodorovná souřadnice (left)?
$y je svislá souřadnice (top)?
V tom případě se o „zalomení“ postará právě proměnná $x
Raketak
Profil *
Mě ale jde o to, že když ten text bude odentrovaný s použitím znaku \n ... tak potřebuji tohle odentrování použít i do vykreslení v samotném obrázku, což v tomto případě s tím scriptem nefunguje.
Borius
Profil
Raketak:
Když bude zpracovávaný text obsahovat oddělovače "\n", aby i v takových místech došlo k zalomení v obrázku?
Což nahradit rovněž všechna "\n" znakem '|'? Tak, aby došlo k zalomění i v místě "\n".
//Oddělovace poprvé
$text=wordwrap($text, 55, '|');
//oddělovace podruhé – i pri zalomení textu v původním zdroji
$text=str_replace("\n", '|', $text);
$lines=explode('|', $text);

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: