Visualizzazione risultati 1 fino 9 di 9

Discussione: Gd library

  1. #1
    Guest

    Predefinito Gd library

    Ciao a tutti, sono nuovo al forum e ad altervista.
    Sto provando a metter su uno script per aggiungere un testo ad un'immagine e ho letto che dovrebbe essere molto facile farlo con le gd library di php. Ho visto su vecchi post sul forum che le librerie sono istallate qui su altervista e, lanciando gd_info() come suggerito dalla documentazione, sembra essere tutto attivo e riconosciuto.

    Come mai non riesco a visualizzare nulla quando uso le librerie? Ho copiato un esempio, in realtà ne ho provati tanti .. tutti con lo stesso esito negativo. il codice della mia pagina è il seguente:
    Codice PHP:
    <html>
    <head>
    <title>
    <?php
    echo "Pagina di prova PHP";
    ?>
    </title>
    </head>
    <body>
    <?php
    echo "Buona giornata!";
    header ('Content-Type: image/png');
    $im = imagecreatetruecolor(120, 20)
    or die(
    'Cannot Initialize new GD image stream');
    $text_color = imagecolorallocate($im, 233, 14, 91);
    imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
    imagepng($im);
    imagedestroy($im);
    ?>
    </body>
    </html>
    Sapete dirmi come mai non visualizzo null'altro che un quadratino col punto interrogativo al centro?

    Grazie mille
    Ultima modifica di alemoppo : 22-04-2014 alle ore 22.39.21 Motivo: +tag

  2. #2
    Guest

    Predefinito

    Perchè stai mischiando un po' le cose.
    Il codice per generare l'immagine è corretto ma non devi mettere null'altro (HTML).
    Il codice genera il binario del file dell'immagine, non puoi scriverlo come qualunque elemento HTML.
    Inserisci in una pagina un elemento img e come src metti una pagina php (ad esempio immagine.php) che contenga il solo codice (da header ... a imagedestroy.

    Prova così

    crea una pagina HTML (o anche PHP), ad esempio pagina.html
    Codice PHP:
    <html>
    <
    head>
    <
    title>Pagina di prova PHP</title>
    </
    head>
    <
    body>
    Buona giornata!<br />

    <
    img src="immagine.php" alt="" />
    </
    body>
    </
    html>
    e poi la pagina PHP che si occupa della generazione dell'immagine, nell'esempio immagine.php

    Codice PHP:
    <?php
    header
    ('Content-Type: image/png');
    $im = imagecreatetruecolor(120, 20)
    or die(
    'Cannot Initialize new GD image stream');
    $text_color = imagecolorallocate($im, 233, 14, 91);
    imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
    imagepng($im);
    imagedestroy($im);
    ?>
    Ultima modifica di vplaza : 22-04-2014 alle ore 22.33.37

  3. #3
    Guest

    Predefinito

    oooohhhh ... ora è tutto molto più chiaro!

    Grazie infinite vplaza

  4. #4
    Guest

    Predefinito

    Approfitterei delle tue conoscenze per sottoporti anche questo problema.
    Sto provando a caricare un'immagine di base (alla quale poi sovraimporre una scritta) usando questo pezzo di codice:
    Codice PHP:
    $im = imagecreatefromjpeg("../IMM/M80_thumb.jpg");
    if(!
    $im)
    $im = imagecreatetruecolor(400, 100);
    e il php entra sempre dentro l'if e mi crea l'immagine con lo sfondo nero, non caricandomi quindi l'immagine. Ho provato anche inserendo tutto l'url completo, ma mi dà lo stesso problema.

    Hai idea di come possa risolvere??

    Il codice completo, se vuoi provarlo è il seguente:
    Codice PHP:
    <?php
    // Create a blank image and add some text
    $im = imagecreatefromjpeg("../IMM/M80_thumb.jpg");
    if(!
    $im)
    $im = imagecreatetruecolor(400, 100);
    $text_color = imagecolorallocate($im, 233, 14, 91);
    imagestring($im, 5, 100, 50, 'A Simple Text String', $text_color);

    // Set the content type header - in this case image/jpeg
    header('Content-Type: image/jpeg');

    // Output the image
    imagejpeg($im);

    // Free up memory
    imagedestroy($im);
    ?>
    Ultima modifica di alemoppo : 22-04-2014 alle ore 23.16.02 Motivo: +tag [php]

  5. #5
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Quell'immagine, esiste?
    Verificalo con file_exists().

    Ciao!

  6. #6
    Guest

    Predefinito

    Hai ragione, il file non esiste ...
    ma se vado all'url http://imagegenerator.altervista.org/IMM/M80_thumb.jpg il file lo vedo ...
    il codice non mi funziona nemmeno se metto tutto l'url completo

    $im = imagecreatefromjpeg("http://imagegenerator.altervista.org/IMM/M80_thumb.jpg");

    come faccio qui in altervista a raggiungere un file che sta in /IMM/nome_file.ext ?? se provo file_exists("/IMM/nome_file.ext") mi dice che non c'è ...

  7. #7
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Molto probabilmente sbagli con il percorso:
    Percorsi assoluti:
    "/" è riferito alla root del tuo spazio, quindi per selezionare un file nella cartella principale devi fare "/membri/file.est"
    Se invece specifichi tutto l'indirizzo, lo script lo vede come file "esterno", quindi in questo caso devi abilitare la connessione server2server per poterlo raggiungere da script.

    Per i percorsi relativi (che ti consiglio):
    "./" significa "cartella corrente", mentre "../" significa cartella superiore.

    Se non hai capito bene, vedi qui (secondo elenco numerato).

    Ciao!

  8. #8
    Guest

    Predefinito

    ok, ho risolto ... è bastato usare il path relativo ./IMM/nome_file.est .. strano che l'altro non funzionasse, perché la cartella IMM è all'interno della mia root .. quindi credevo fosse in /IMM/nome_file.est ... e invece forse tra la root e IMM c'è qualcosa in mezzo..

    Comunque grazie! Adesso funziona alla grande ;)

  9. #9
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Come ti ho detto prima, tra la root e IMM c'é /membri/ (o a volte /membri2/).

    Ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •