Autor Zpráva
Svit33a33
Profil
Zdravím,
snažím sa vytvorit stranku ktora vytvori obrazok s citatom po vyplneni formularu vyskusat si to mozte na www.svit33.sk/citaty.

1. Problem:
Ako mozte vidiet su tam zakomentovane (naznacene) divy , ktore pojednavaju o tom kde a aky velky by mal byt. Ide o to ze ked do formulara zadate text ktory ma 120 znakov na obrazku to da do jedneho riadku vsetko. A ja neviem ako zlomit riadok tak aby bol vysledny obrazok podla toho naznaceneho divu

2. Prolem:
Da sa nejakym sposobom ten vysledny obrazok ulozit alebo nieco take, ze by bolo mozne ho stiahnut/ poslat mailom/ zdielat na socialnych sietach? Skusal som ulozit tuna imagepng($im, './citat.png'); ale nic neulozilo iba vytvorilo png ktore bolo prazdne a neopuzitelne.
Dakujem vam vopred...........PHP vidim druhy krat v zivote :D



<?php
// Set the content-type
header('Content-Type: image/png');

// Create the image
$im = imagecreatetruecolor(850, 315);

// Create some colors
$white = imagecolorallocatealpha($im, 255, 255, 255, 75);
$whiteV = imagecolorallocatealpha($im, 255, 255, 255, 85);

$grey = imagecolorallocatealpha($im, 0, 0, 0, 90);
$greyV = imagecolorallocatealpha($im, 0, 0, 0, 50);
$fialova = imagecolorallocate($im, 125, 0, 71);
$im     = imagecreatefrompng("kirk.png");


// The text to draw
$citat =$_POST['citat'];
$autor =$_POST['autor'];

// Replace path by your own font path
$font = 'georgiaz.ttf';

//<div style="position:absolute;top:90px;left:80px;width:700px;height:112px;overflow:hidden;">
imagettftext($im, 30, 0, 80, 91, $greyV, $font, $citat);
imagettftext($im, 30, 0, 81, 92, $whiteV, $font, $citat);
imagettftext($im, 30, 0, 81, 91, $fialova, $font, $citat);


//<div style="position:absolute;top:615px;left:220px;width:300px;height:60px;overflow:hidden;">
//Autor
imagettftext($im, 17, 0, 315, 231, $grey, $font, $autor);
imagettftext($im, 17, 0, 316, 232, $white, $font, $autor);
imagettftext($im, 17, 0, 316, 231, $fialova, $font, $autor);




// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>
Keeehi
Profil
Tak do toho textu vložte enter. Najděte poslední mezeru před 120 znakem a nahraďte ji za "\n". Tím byste se to mělo dostat na další řádek.

imagepng($im, './citat.png'); by fungovat mělo.
Svit33a33
Profil
Keeehi:
:D diky ale nejde to :D ani jedno
ten text je dlhy max 120 znakov ktore su rozdelene do 3 riadkov.....keby ten text bol pevne dany to nie je problem ale ide o to ze ten text bude zadavany do formularu takze tam neviem ako toto riesit www.svit33.sk/citaty vyskusajte si to
Keeehi
Profil
Svit33a33:
No chápu to. To co jsem psal mělo sloužit na automatické zalamování řádků. Ovšem muselo by se to hledat kolem 30, znaku ne 120. Ovšem já žádný zakomentovaný div nevidím, tak mi možná stále něco uniká.

K tomu ukládání souboru. Možná bude problém v právech, když se script snaží vytvářet ten soubor. Zkontrolujte si práva u složky kam se snažíte zapisovat.
Svit33a33
Profil
tam v tom kode orandzovym textom je
//<div style="position:absolute;top:90px;left:80px;width:700px;height:112px;overflow:hidden;">

//<div style="position:absolute;top:615px;left:220px;width:300px;height:60px;overflow:hidden;">


dakujem za pomoc :)

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: