Visualizzazione risultati 1 fino 9 di 9

Discussione: Help su immagine creata in realtime

  1. #1
    L'avatar di TRAX3D
    TRAX3D non è connesso Utente giovane
    Data registrazione
    08-12-2004
    Residenza
    Ossola
    Messaggi
    81

    Predefinito Help su immagine creata in realtime

    Salve,
    mi servirebbe una dritta su come fare a modificare un immagine 400X300pixel a sfondo nero, che in base alle modifiche fatte in input box crei delle linee archi ecc. in real time.
    grazie

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Conosci l'elemento HTML5 canvas?

  3. #3
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

  4. #4
    L'avatar di TRAX3D
    TRAX3D non è connesso Utente giovane
    Data registrazione
    08-12-2004
    Residenza
    Ossola
    Messaggi
    81

    Predefinito

    ufff che casino! non è che sono espertissimo...

    mi potete dare un'occhiata se metto ctx.moveTo(vx1,vy1); non funziona!!!!

    Codice HTML:
    <html>
     <head>
      <script type="application/javascript">
       function draw() 
       {
        var canvas = document.getElementById("canvas");
        if (canvas.getContext) {
        var ctx = canvas.getContext("2d");
    
    var vx1    = document.getElementById('x1');
    var vy1    = document.getElementById('y1');
    var vx2    = document.getElementById('x2');
    var vy2    = document.getElementById('y2');
    
         // Stroked triangle
        ctx.beginPath();
        ctx.moveTo(100,100); //se metto ctx.moveTo(vx1,vy1); non funziona!!!! 
        ctx.lineTo(200,200);
        ctx.closePath();
        ctx.stroke();
          }
        }
      </script>
     </head>
     <body>
       <canvas id="canvas" width="400" height="300"></canvas>
    <br>
    <input size='3' type="Text" name="x1" Value="100" id='x1' onkeyup="draw()"><br>
    <input size='3' type="Text" name="y1" Value="100" id='y1' onkeyup="draw()"><br>
    <input size='3' type="Text" name="x2" Value="200" id='x2' onkeyup="draw()"><br>
    <input size='3' type="Text" name="y2" Value="200" id='y2' onkeyup="draw()"><br>
     </body>
    </html>

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

    Predefinito

    vx1 e vy1 non sono "numeri", ma oggetti prelevati con la getElementById()! Devi prelevare la proprietà value, quindi dovrebbero essere vx1.value e vy1.value.

    In ogni caso, con
    Codice:
    getElementById('x1');
    e le altre, cosa prelevi? Nel codice che hai scritto non c'é nulla con un id che vale quei valori. Invece di "name" volevi scrivere "id"?

    Infine, quando uno script javascript non ti funziona, è fondamentale dare uno sguardo alle console integrate nei browser, perché danno importantissime informazioni sull'errore.

    Ciao!
    Ultima modifica di alemoppo : 06-02-2013 alle ore 02.53.34

  6. #6
    L'avatar di TRAX3D
    TRAX3D non è connesso Utente giovane
    Data registrazione
    08-12-2004
    Residenza
    Ossola
    Messaggi
    81

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    In ogni caso, con
    Codice:
    getElementById('x1');
    e le altre, cosa prelevi? Nel codice che hai scritto non c'é nulla con un id che vale quei valori. Invece di "name" volevi scrivere "id"?

    Codice HTML:
    <input size='3' type="Text" name="x1" Value="100" id='x1' onkeyup="draw()"><br>
    <input size='3' type="Text" name="y1" Value="100" id='y1' onkeyup="draw()"><br>
    <input size='3' type="Text" name="x2" Value="200" id='x2' onkeyup="draw()"><br>
    <input size='3' type="Text" name="y2" Value="200" id='y2' onkeyup="draw()"><br>
    a me pare che id='y1' ci siano!!!

    Comunque ho risolto
    Grazie

  7. #7
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    getElementById ti restituisce il nodo <input>, non il suo valore. Da quello devo recuperare il numero con l'attributo value.
    Codice:
    var vx1    = document.getElementById('x1').value;
    (che probabilmente è come hai risolto tu, ma per i posteri mi sembra utile scriverlo)

  8. #8
    L'avatar di TRAX3D
    TRAX3D non è connesso Utente giovane
    Data registrazione
    08-12-2004
    Residenza
    Ossola
    Messaggi
    81

    Predefinito

    In realtà visto che a qualcuno potrebbe servire ho risolto con
    Codice HTML:
    var vDG = parseFloat(x1.value);
    e senza var vx1 = document.getElementById('x1').value;
    visto che funziona.

    N.B.:Se non facevo parseFloat non mi faceva la somma aritmetica ma sommava delle stringa mah....

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

    Predefinito

    Citazione Originalmente inviato da TRAX3D Visualizza messaggio
    a me pare che id='y1' ci siano!!!
    Ops, non avevo visto :P
    ---
    Citazione Originalmente inviato da TRAX3D Visualizza messaggio
    In realtà visto che a qualcuno potrebbe servire ho risolto con
    Codice HTML:
    var vDG = parseFloat(x1.value);
    e senza var vx1 = document.getElementById('x1').value;
    però x1 lo prelevi con document.getElementById('x1'), quindi è la stessa cosa

    Sarebbe:
    Codice:
    var x1 = document.getElementById('x1');
    var vDG = parseFloat(x1.value);
    Che è la stessa cosa di
    Codice:
    var vDG = parseFloat(document.getElementById('x1').value);
    ---
    Citazione Originalmente inviato da TRAX3D Visualizza messaggio
    N.B.:Se non facevo parseFloat non mi faceva la somma aritmetica ma sommava delle stringa mah....
    È giusto, perché quando prelevi il value, te lo prende in formato stringa. Puoi usare anche parseInt() per trasformarlo in intero.

    Ciao!
    Ultima modifica di alemoppo : 09-02-2013 alle ore 21.53.04

Regole di scrittura

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