javascript - I am trying to take screenshot of html div with html2canvas but something is not working

one text

I am trying to generate screenshot of image just like https://zeoob.com/fake-tweet-generator/, following is my code. I am not sure what mistake i am doing

html2canvas(document.querySelector("#download")).then(canvas => {
        var _data = canvas.toDataURL().replace("data:image/png;base64,", "");
        
        $.ajax({
            type: "POST",
            url: "https://example.com/gen.php",
            data: {
                image: _data
            }
        }) });

My php code

if(isset($_POST['image'])){
    
    
    $im = $_POST['image'];
    
    $fileData = base64_decode($img);
    $fileName = 'generated.png';
    file_put_contents($fileName, $fileData);
}

Image is saved but it does not show actual screenshot.

Source