Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    inquadra e ritaglia immagine

    Ciao a tutti.

    Il mio sito di turno deve elaborare delle immagini caricate dall'utente. Queste immagini dopo essere state caricate dovrebbero essere ritagliate in modo che abbiano un rapporto larghezza/altezza fisso. Inoltre questa operazione deve eseguita automaticamente.

    Non conoscendo l'immagine che viene caricata potrebbe capitare che il soggetto raffigurato non sia esattamente al centro e quindi nell'operazione di ritaglio potrebbe venirne tagliata una parte.

    Avrei bisogno quindi di mettere a disposizione dell'utente un controllo che gli lasci la possibilità di inquadrare il soggetto all'interno di una selezione con larghezza e altezza fissi.
    -magari anche ridimensionabili, l'importante è che il rapporto lar/alt rimanga costante-


    Se qualcuno sa consigliarmi da dove partire o dove trovare qualche script...

    Grazie in anticipo.
    La verita' è che... tu sei il debole, e io sono la tirannia degli uomini malvagi, ma ci sto provando ringo, ci sto provando con grandissima fatica a diventare il pastore..

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Che sappia io non puoi farlo con il solo javascript (per sicurezza ho fatto una ricerca che conferma la mia tesi http://forum.html.it/forum/showthread/t-854882.html) ho visto dei siti che fanno quello che cerchi in flash/actionscript ma non saprei dirti se sono script/applicativi free
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Per quanto riguarda ritagliare l'immagine lo faccio server-side ovviamente.

    Ciò che mi serviva era un controllo che lasciasse decidere all'utente dove ritagliarla, poi io con i parametri che mi passa questo controllo faccio la chiamata server e ritaglio.



    Ad esempio nell'immagine que sotto dovrei dare la possibilità all'utente di spostare il riquadro chiaro per inquadrare ciò che vuole.
    Dopodichè quando preme un tasto di conferma chiama una pagina asp che prende come parametri la posizione e la dimensione del riquadro e tramite server effettua il ritaglio.

    Il mio problema non è il ritaglio che lo so già fare, ma dare all'utente la possibilità di inquadrare ciò che vuole...
    La verita' è che... tu sei il debole, e io sono la tirannia degli uomini malvagi, ma ci sto provando ringo, ci sto provando con grandissima fatica a diventare il pastore..

  4. #4
    Utente bannato
    Registrato dal
    Jan 2009
    Messaggi
    152
    Solo per dare un' idea dello Straystudio pensiero :

    commenta con // la riga dell' alert
    //alert(document.getElementById("area").style.margin Left+" \nL = "+L);
    codice:
    <html>
    <head>
    <script language="JavaScript"> 
    <!--
    var L = 0;
    
    function moveRight(){
     L++;
     document.getElementById("area").style.marginLeft = L +"px"; 
     alert(document.getElementById("area").style.marginLeft+" \nL = "+L);
     }
    
    // -->
    </script>
    
    </head>
    <body>
    
    <input value="=>" type="button" onClick='moveRight();'>
    
    
    <div style="height: 100%; border: 1px solid black; 
         background-image: url(http://www.dija.it/public/tyler.jpg); background-repeat: no-repeat;">
    
     <div id="area" style="width: 270; height: 294; border: 2px dashed red;"></div>
    
    </div>
    
    </body>
    </html>
    Puoi recuoerare L come Integer o tenere il valore in pixel.

  5. #5
    Grazie mille Straystudios, mi hai dato una bella idea!!

    Tramite dei bottoni penso di riuscire a fare tutto ciò che mi serve, anche ad ingrandire il riquadro mantenendo il rapporto larghezza/altezza desiderato... poi passo alla pagina successiva margin-top, margin-left, width e height del div area e me la ritaglio server-side.

    e direi che per ora è un buon passo avanti!

    Ma se volessi riuscire a trascinare il riquadro con il mouse??

    Quache idea?
    La verita' è che... tu sei il debole, e io sono la tirannia degli uomini malvagi, ma ci sto provando ringo, ci sto provando con grandissima fatica a diventare il pastore..

  6. #6
    Utente bannato
    Registrato dal
    Jan 2009
    Messaggi
    152
    C'è anche quella possibilità con JS puoi gestire le coordinate x,y del puntatore sullo screen; ma cominciamo ad andare su una cosa che non potrei darti così sul momento.

    Puoi anche fare un secondo pulsante =>> di spostamento maggiore (+10px/click).
    Ma avevo anche realizzato un bel joystick con dei timer in passato; prova questo, e a trattenere il pulsante mezzo secondo ... :
    codice:
    var L = 0;
    
    var TR;
    var TRC;
    
    function moveRight(){
     L++;
     document.getElementById("area").style.marginLeft = L +"px"; 
     TR=setTimeout('moveRightContinuos();', 500);
     }
    function moveRightPlus(){
     L=L+10;
     document.getElementById("area").style.marginLeft = L +"px"; 
     TR=setTimeout('moveRightContinuos();', 500);
     }
    function moveRightContinuos(){
     L++;
     document.getElementById("area").style.marginLeft = L +"px"; 
     TRC=setTimeout('moveRightContinuos();', 15);
     }
    
    //i comandi nel BODY:
    
    <input value="=>" type="button"  onmousedown='moveRight();' 
                                     onmouseup='clearTimeout(TR); clearTimeout(TRC);'>
    <input value="=>>" type="button" onmousedown='moveRightPlus();' 
                                     onmouseup='clearTimeout(TR); clearTimeout(TRC); alert("stopped");'>

  7. #7
    Spettacolo!!!

    Lo sto mettendo a punto anche per ridimensionarlo e per evitare che oltrepassi i confini dell'immagine o vada fuori...

    Però ho trovato un piccolo bug...

    se io tengo premuto poi mi sposto dal pulsante e rilascio lui continua ad andare perchè l'evento onMouseUp non è più rilevato dal bottone ma da ciò che indico quando rilascio il mouse. Dovrei ricliccarci sopra e rilasciare il mouse sopra per fermarlo, quindi ho messo il clearTimeout anche onmouseout.
    La verita' è che... tu sei il debole, e io sono la tirannia degli uomini malvagi, ma ci sto provando ringo, ci sto provando con grandissima fatica a diventare il pastore..

  8. #8
    Ho fatto tutto!

    Invece della funzione "Plus" ho messo un parametro per gestire il passo dello spostamento

    Poi ho inserito anche il ridimensionamento e ho fatto in modo che riquadro non uscisse dai limiti dell'immagine!!

    Ho inserito anche il pulsante conferma per vedere i parametri che mi restituiva.

    E tutto funziona!!

    Puoi vederlo qua

    Un ultima cosa....
    Quali sono gli oggetti che gestiscono il mouse dai quali potrei ottenerne la posizione?? Ho già in mente come fare per spostarlo col mouse!

    Grazie mille dell'aiuto!!
    La verita' è che... tu sei il debole, e io sono la tirannia degli uomini malvagi, ma ci sto provando ringo, ci sto provando con grandissima fatica a diventare il pastore..

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 © 2024 vBulletin Solutions, Inc. All rights reserved.