Ciao,
io dovrei creare una immagine della pagina html mostrata e devo fare il crop di tale immagine. Ho implementato lo script usando la funzione html2canvas per poi elaborarla col metodo .drawImage

Il problema è che l'immagine che crea risulta completamente nera! Mentre prima di applicare il metodo .drawImage, l'immagine risulta perfetta.

Copio il codice, che è sicuramente più esplicativo:

codice:
html2canvas(document.body, {
              onrendered: function(canvas) {             
                    var original_img = canvas.toDataURL('image/jpeg');  // ottengo il base64 dell'immagine
                        
                    var new_canvas = document.createElement('canvas');     
                    var ctx = new_canvas.getContext("2d");
                    
                    var x_size = 200;  // le coordinate x su cui fare il crop
                    var y_size = 200;  // le coordinate y su cui fare il crop

                    var img = new Image(); 
                    img.src = original_img;
                    img.onload = function() {
                        ctx.drawImage(img, 0, 0, x_size, y_size);        // context.drawImage(img,x,y,width,height);
                    }
                
                    var new_img = new_canvas.toDataURL('image/jpeg', 1);
                    
                    //window.open(original_img);    // mostra l'immagine corretta
                    //window.open(img.src);            // mostra ancora l'immagine corretta
                    window.open(new_img);            // mostra l'immagine NERA
                        
              }
        });
Avete qualche idea di quale potrebbe essere il problema? Grazie!