Visualizzazione dei risultati da 1 a 10 su 12

Visualizzazione discussione

  1. #6
    Utente di HTML.it
    Registrato dal
    Jan 2018
    Messaggi
    218
    Grazie ninja72 per avermi risolto il problema con l'utilissimo codice che mi hai inviato.
    Siccome le immagini non risultanavano proporzionate ho correto le righe che calcolano la "ratio".
    Ho poi cercato di semplificare l'oggetto <canvas> mettendo tutti gli attributi nella riga


    riga1: <canvas id="tela" width="800" height="600" style="border: 2px solid red;"></canvas>


    ma non capisco perché le due righe seguenti:
    cx.width = 800 // si dovrebbe eliminare
    cx.height = 600 // si dovrebbe eliminare
    non si possono eliminare essendo questi attributi contenuti nella riga1
    Grazie ancora


    lanvoel



    codice:
     <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>test</title>
    </head>
    <body>
        <canvas id="tela" width="800" height="600" style="border: 2px solid red;"></canvas>
        <br>
        <label for="photo">Canvas</label>
        <input type="file" name="photo" accept="image/*" id="photo">
    
    
    <script>
        let ratio=1;
            const selectPhoto = document.getElementById('photo')
            var c = document.getElementById("tela")
            var cx = c.getContext("2d")
            cx.width = 800    // si dovrebbe eliminare
            cx.height = 600   // si dovrebbe eliminare
          selectPhoto.addEventListener('change', (e) => {
                const img = new Image()
                const url = URL.createObjectURL(e.target.files[0])
                img.src = url
    
    
          img.onload = () => {
          if (img.width >img.height) {
          ratio=img.width/cx.width
          }
          else {
          ratio=img.height/cx.height
          }
                    let newWidth = img.width / ratio
                    let newHeight = img.height / ratio
                    cx.clearRect(0, 0, cx.width, cx.height)
                    cx.drawImage(img, 0, 0, newWidth, newHeight)
                    URL.revokeObjectURL(url)
           }
           })
    </script>
    </body>
    </html>
    Ultima modifica di ciro78; 20-03-2023 a 21:00 Motivo: tag code - fai più attenzione

Tag per questa discussione

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.