Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Kuvan luonti GD-kirjastolla

Sivun loppuun

Tuq [10.09.2007 22:44:08]

#

Käytän seuraavaa skriptiä, joka luo tekstin kuvan päälle kirjoittaessa testi.php?text=text.

//testi.php
<?php

header("Content-type: image/png");
$string = $_GET['text'];
$im     = imagecreatefrompng("buttoni.png");
$orange = imagecolorallocate($im, 220, 210, 60);
$px     = (imagesx($im) - 7.5 * strlen($string)) / 2;
imagestring($im, 3, $px, 9, $string, $orange);
imagepng($im);
imagedestroy($im);

?>

Olen nähnyt muilla sivuilla generaattoreita yms. jotka luovat .png kuvan, kun
formiin kirjoitetaan jotain. Kuinka on mahdollista tehdä tämän skriptin
pohjalta tsydeemi, joka luo uuden ja päivittyvän .png kuvan ?
Kun formiin kirjoitettua tekstiä muuttaa, pitäisi myös .png kuva
päivittyä. Tehdäänkö tämä jotenkin niin, että korvataan vanha png kuva uudella ?
Tuossa omassa lähettämässäni skriptissä skripti ei luo tallentuvaa .png kuvaa, vaan kuva on ns. ".php" tiedostona.
Valaiskaahan vähäsen. ;)

punppis [10.09.2007 23:40:08]

#

Sun täytyy vaan uudelleenkirjoittaa se .png tiedosto.

Tuq [11.09.2007 07:55:34]

#

Juu, mutta tuo lähettämäni skripti ei tallenna servelille .png kuvaa,
jonka päällä on formista päivittyvä teksti. Kuinka tämä tehdään tuolla Gd libraryllä ?

kayttaja-2791 [11.09.2007 08:13:59]

#

Antamalla imagepng-funktiolle toisena parametrina tiedostonimen:

...
imagepng($im, "uusibuttoni.png");
...

Tuq [11.09.2007 08:26:29]

#

JTS kirjoitti:

Antamalla imagepng-funktiolle toisena parametrina tiedostonimen:

...
imagepng($im, "uusibuttoni.png");
...

Muuten hyvä, mutta nyt heittää läjäpäin erroria.
Johtuukos se

$im     = imagecreatefrompng("buttoni.png");

tästä? Tuohan määrittää kuvalle taustan.

Lebe80 [11.09.2007 09:12:22]

#

Sehän riippuu ihan vain siitä, mitä erroreita se heittää läjäpäin. Erroreissa mainitaan kyllä virhe ja sen rivinumero.

kayttaja-2791 [11.09.2007 14:03:30]

#

Heittäisikö se siksi erroreita että skriptilläsi ei ole oikeuksia kirjoittaa kyseiseen hakemistoon?

Tuq [11.09.2007 15:57:22]

#

Jokin tässä nyt mättää, koodi:

<?php

header("Content-type: image/png");
$string = $_GET['text'];
$im     = imagecreatefrompng("buttoni.png");
$orange = imagecolorallocate($im, 220, 210, 60);
$px     = (imagesx($im) - 7.5 * strlen($string)) / 2;
imagestring($im, 3, $px, 9, $string, $orange);
imagepng($im, "uusibuttoni.png");
imagedestroy($im);

?>

Tämmöistä heittää:

Warning: Cannot modify header information - headers already sent by (output started at /home/ftp/tumcaa/testii/gd_testi2.php:2) in /home/ftp/tumcaa/testii/gd_testi2.php on line 4

Warning: imagecreatefrompng(buttoni.png) [function.imagecreatefrompng]: failed to open stream: No such file or directory in /home/ftp/tumcaa/testii/gd_testi2.php on line 6

Warning: imagecolorallocate(): supplied argument is not a valid Image resource in /home/ftp/tumcaa/testii/gd_testi2.php on line 7

Warning: imagesx(): supplied argument is not a valid Image resource in /home/ftp/tumcaa/testii/gd_testi2.php on line 8

Warning: imagestring(): supplied argument is not a valid Image resource in /home/ftp/tumcaa/testii/gd_testi2.php on line 9

Warning: imagepng(): supplied argument is not a valid Image resource in /home/ftp/tumcaa/testii/gd_testi2.php on line 10

Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/ftp/tumcaa/testii/gd_testi2.php on line 11

Mikä mättää ? :S

kayttaja-2791 [11.09.2007 16:38:54]

#

Ensimmäinen varoitus, headerit on jo lähetetty... Tosin tuo header-funktio on nyt täysin turha kun kerta et "tulosta" sitä imagea vaan tallennat. Toinen varoitus, imagecreatefrompng ei löytänyt tiedostoa "buttoni.png". Kaikki muut virheet sitten johtuvat tuosta, ettei image-resurssia voitu tehdä kun siihen tarvittavaa tiedostoa ei löytynyt.

Tuq [11.09.2007 16:48:11]

#

Kiitän, nyt pelittää hyvin. : )


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta