Immagine da div

di il
5 risposte

Immagine da div

Ciao a tutti!
ho un problemino molto semplice ma penso non sia così facile da risolvere..
E' possibile creare un tasto che mi fa salvare sul pc l'immagine del contenuto di un div?
..purtroppo non so in che codice si possa fare...forse js (ho fatto lo stampa) oppure ho guardato delle cose tipo canvas ma non mi sembra possa far al caso mio...forse mi sbaglio...
Ogni tipo di suggerimento è ben accetto!!
Grazie in anticipo..

5 Risposte

  • Re: Immagine da div

    Nessuno?
  • Re: Immagine da div

    Beh di solisto basta fare click con il tasto dx e poi da li ti recuperi l'immagine. js non ha nessuna funzione che permetta di scrittura su disco quindi risulta impossibile. Sicurezza permettendo al massimo puoi recupera l'imagedata dell'immagina caricandola dentro un canvas, e da li hai la possibilita' di recuperato l'array di pixel che compongono sotto forma i url e da li puoi convertirlo nel formato che preferisci, ma credo che non si possa fare una cosa del genere per motivi si sicurezza, e in ogni caso prima di poter recuperare l'immagine dal sito di qualcuno sarebbe buona norma chiederne il permesso, e se hai bisogno semplicemente di immagini ne puoi trovare molte gratuitamente in giro. E lo stessto Wikipedia mette a disposizione con Wikicommons, e ci sono anche altri che offrono immagini sia gratis che a pagamento.
  • Re: Immagine da div

    Grazie per la risposta..
    Forse mi son spiegato male o non ho capito io. Aggiungo dettagli
    In pratica io ho una img di sfondo in un div di una pagina mia, tramite js vado a posizionare delle immagini sopra questa di sfondo...alla fine vorrei salvarmi in qualche modo il collage delle immagini..quelle incollate più quella di sfondo..
    con il canvas potrei far questo? caricar l'immagine di sfondo e poi aggiungere immagini a piacimento dell'utente?
  • Re: Immagine da div

    repelasen ha scritto:


    Grazie per la risposta..
    Forse mi son spiegato male o non ho capito io. Aggiungo dettagli
    In pratica io ho una img di sfondo in un div di una pagina mia, tramite js vado a posizionare delle immagini sopra questa di sfondo...alla fine vorrei salvarmi in qualche modo il collage delle immagini..quelle incollate più quella di sfondo..
    con il canvas potrei far questo? caricar l'immagine di sfondo e poi aggiungere immagini a piacimento dell'utente?
    Cosi non credo che sia possibile.
    Se conosci jQuery il lavoro potrebbe essere piu semplice, ma dovresti spiegarmi esattamente che tipo di lavoro vorresti fare.
    Per quello che vorresti fare, supponendo che il sito sia tuo e che tu voglia far interagire all'utente con delle immagini per creare dei collage fotografici, hai 2 soluzioni con la risposta finale identica che sarebbe estrarre i bit da un canvas.
    Per come lo spieghi qui una vota che tutte le foto sono in posizione con jquery devi stabilire tutte le immagini che si trovano all'interno del tuo div di riferimenti, jQuery ti permette di ottenere le dimensioni e la posizione anche dopo delle modifiche, che con semplice javascript base non restituisce se non settato esplicitamente da programmatore o script. dopo ricrei tutto questo collage all'interno di un canvas ed elabori tutto facendo un collage delle porzioni di immagini realmente visibili, se non ricordo male poi catturare solo gli elementi grafici disegnati e non le immagini, ma conoscendo le porzioni visibili dell'immagini poi estrarre i pixel della porzione visibile e lo inserisci su un nuovo imageData nel punto opportuno, un buon trucco sarebbe quello di partire caricando i pixel dello sfondo e poi sovrascrivere venendo ogni volta di piu verso foreground in modo da non avre eventuali spazi bianchi non riempiti e fare calcoli troppo complicati. quando avrai finito di scrivere il imageData lo inserisci in un Canvas e estrai il toDataURL che restituisce il contenuto dell'imagine sotto forma di URL da usare. Cerca dei tutorial magari per la manipolazione di immagini con canvas.
    Il secondo consiglio e' quello di usare delle app fatto apositamente per lavorare sui convans evitando completamente i div o altri elementi html se non strettamente utili. Ce ne sono alcuni fatto molto bene che di permettono anche di costruire veri e propri video-game, e quindi sicuramente avrai lopportunita' di fare anche questo.
    Ma dalla mia esperienza personale con i canvas ti devo dire che sono estremamente lenti. Avevo sperimentato la visualizzazione di un'immagine come se venisse stampanta punto per punto un colore per volta, con un immagine da 6Mpx ci impiega una vita, ma devi contare che doveva c'erano 3 cicli da 6Millioni di loops uno per ogni colore.
    http://impactjs.com questo e' un api per creare giochi con i canvas, ma se cerchi con google ne troverai anche altri. Sono molto potenti e utili.
  • Re: Immagine da div

    Ciao,
    non credo che la cosa sia possibile lato client per ragioni di sicurezza. Forse è possibile fare qualcosa con php ma occorre che i dati selezionati dall'utente vengano inviati al server, processati e reinviati al browser.
    In pratica occorrerebbe:
    1) salvare le informazioni sul collage, ad esempio la posizione delle immagini nel div
    2)inviare le immagini al server
    3)reinviare le informazioni sul collage al server
    4)processare il tutto in php (ci sono diverse librerie)
    5)reinviare il tutto al browser

    Spero di esserti stato d'aiuto.

    Alessandro
Devi accedere o registrarti per scrivere nel forum
5 risposte