Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 31
  1. #1
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Creare un'img jpg,gif o bmp da pag web... possibile?

    Ho cercato già per flash... e javascript.. senza alcun esito... non mi rimane che php...
    sperando che con questo linguaggio la cosa sia fattibile...


    La mia esigenza sarebbe questa:

    Creare un'immagine di un pezzo di pagina web... da bottone

    Cerco di spiegarmi meglio...

    Avrei questa necessità di creare un'immagine jpg o gif o bmp cliccando su un bottone relativamente ad quadro delimitante di una pagina web es. 400x400

    esempio + dettagliato...
    Ho una pagina web 800x600
    in questa c'e' uno scritto o un grafico (magari dinamico) visualizzato
    in alto a sx e avente dimensione appunto per es. 400x400
    Ora io vorrei che un bottone sottostante se cliccato mi
    consentisse di trasformare solo il quadretto 400x400 con relativo
    grafico visualizzato in un immagine gif, jpg o bmp relativa
    salvabile in locale.

    Esiste un modo in php?

    Grazie a tutti/e

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    Hmmmmm... il problema è che il rendering della pagina avviene a lato client, il server non ne sa nulla.
    Se invece vuoi generare tu l'immagine avendo accesso ai contenuti allora lo fai facilmente con le GD libraries

  3. #3
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Si si l'immagine la genererei su contenuti miei non dalla rete

    "...Se invece vuoi generare tu l'immagine avendo accesso ai contenuti allora lo fai facilmente con le GD libraries..."

    penso sia proprio questo il mio caso...

    Ad es. dovrei generare un img da una pagina che mi gira sul mio webserver locale per non stare tutte le volte a fare ctrl+stamp e poi ritagliarla...

    puoi spiegarmelo in dettaglio? Grazie infinite!


  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    Come dicevo, il rendering avviene sul client quindi comunque sia anche se il sito è in locale php sputa fuori solo l'HTML poi il tuo browser decide come farti vedere l'HTML (es. se disabiliti i CSS la tua pagina non apparirà nello stesso modo che con i CSS attivati, ma PHP questo non lo sa, ti dà sempre lo stesso output)
    Quindi quello che devi fare non è tanto fare uno screenshot del tuo schermo, ma ricreare quello che vedi a schermo ma facendo un output su file.

    Detto questo, non so cosa mostri esattamente la tua pagina ma ad es (copio spudoratamente l'esempio di php.net)

    Codice PHP:
    <?php
    header
    ("Content-type: image/png");
    $im = @imagecreate(11020)
        or die(
    "Cannot Initialize new GD image stream");
    $background_color imagecolorallocate($im000);
    $text_color imagecolorallocate($im2331491);
    imagestring($im155,  "A Simple Text String"$text_color);
    imagepng($im);
    imagedestroy($im);
    ?>
    Questo creerà un'immagine con su scritto "a simple text string".
    Se scrivi:

    imagepng($im, "file.png");
    Te la salva su file

    Ha senso?

  5. #5
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    dunque ho provato subito...

    l'img in alto sx me la crea a video ma il file no

    a me quello che interesserebbe è proprio quest'ultimo...

    io ho scritto nel file provacreimgdaphp.php

    Codice PHP:
    <?php 
    header
    ("Content-type: image/png"); 
    $im = @imagecreate(11020
        or die(
    "Cannot Initialize new GD image stream"); 
    $background_color imagecolorallocate($im000); 
    $text_color imagecolorallocate($im2331491); 
    imagestring($im155,  "A Simple Text String"$text_color); 
    imagepng($im); 
    imagedestroy($im); 

    //provo a creare il file voluto...

    imagepng($im"file.png"); 

    //quest'ultima sembra non funzionarmi mannaggia...  
    ?>



    Grazie comunque e se ci sono news al riguardo io sono qui!


  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    Non ti funziona perchè chiami imagedestroy prima di scrivere il file!!!

    Inoltre assicurati di avere permessi di scrittura nella cartella di output.

  7. #7
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    già già! hai ragione! :-)

    Ora in effetti sono riuscito a creare l'immagine delle dimensioni volute... anche 800x600
    però mi rimane questo quid.. che se non lo risolvo sono da punto e d'accapo per quello
    che mi servirebbe

    dunque...

    io ho una pagina con sfondo bianco e delle tabelle create in dinamico con il php come faccio a dire.. al codice che mi hai gentilissimamente postato di stampare la pagina con sfondo bianco e le tabelle ovvero il contenuto della pagina caricata?

    Grazie infiniteee


  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    Ok, lo puoi fare, anche se potrebbe essere un lavoraccio...

    In pratica, nel codice che genera l'immagine copi il PHP che ti recupera i dati senza l'output in HTML in modo da ottenere gli stessi dati

    A questo punto invece di scrivere l'output in HTML puoi usare ad es. imagettftext per scrivere il testo, poi se vuoi mettere delle linee puoi usare imageline, imagerectangle etc, trovi la lista completa delle funzioni GD qui:

    http://www.php.net/manual/en/ref.image.php

  9. #9
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    quindi non c'è un altro modo che so...

    tipo un window capture ecc??? che mi trasformi quello che si visualizza a video in una jpg?



    Grazie comunque sei stato gentilissimo


  10. #10
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    forse invece ci sono! :-)

    E' bastato upgradare la mia versione del php alla 5.2 e c'è una funzioncina che fa proprio al caso mio: imagegrabscreen.

    Codice PHP:
    <?php

    function istantanea() {
    $im imagegrabscreen();
    imagepng($im"myscreenshot.png");
    imagedestroy($im);
    }
     
    ?>
    Ora l'unico problemino... è richiamarla quando voglio io da pulsante...

    <input name="istantanea" type="button" onClick="<? istantanea(); ?>" value="istantanea" label="istantanea">

    Ma questo codice che ho postato qui sopra... non mi funzia sai mica dirmi tu o qualcun altro/a dove io stia fagianando?


    THANKS!


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.