php - html2canvas 输出选定的div PHP

标签 php javascript jquery html2canvas

这段代码几乎可以工作
这会将整个页面输出为 jpg
问题:我怎样才能只抓取'#myDiv'中的内容并将其输出为jpg文件?

JS:

$('.myButton').click(function(){
    $('#myDiv').html2canvas();//<< has no effect
    var queue = html2canvas.Parse();
    var canvas = html2canvas.Renderer(queue,{elements:{length:0}});
    var img = canvas.toDataURL();
    img.replace(/^data:image\/(png|jpg);base64,/, "");
    $.post( "postIO.php", {img:img}, function(data) {
        //$('#recieve').append(data);
    }); 
    return false;
});

postIO.php:

$canvasImg = $_POST['img'];    
//$canvasImg = str_replace('data:image/png;base64,', '', $canvasImg);

$data = base64_decode($canvasImg);
$File = "z.jpg"; 
$Handle = fopen($File, 'w');
fwrite($Handle, $data);  
fclose($Handle);

引用here

最佳答案

我下载并尝试了html2canvas,然后我发现jquery插件没有完成(它只是捕获图像并创建 Canvas ,没有用),所以我自己编写捕获代码。

var el = $('div').get(0);

function saveData(dturl){
    //Upload here
    console.debug(dturl);
}

html2canvas.Preload(el, {
    complete: function(image){
        var queue = html2canvas.Parse(el, image, {elements: el}),
            $canvas = $(html2canvas.Renderer(queue, {elements: el}));
        saveData($canvas[0].toDataURL());
    }
});

希望对你有帮助

因此要与您的程序一起使用,您必须编写

function saveData(dturl){
    dturl.replace(/^data:image\/(png|jpg);base64,/, "");
    $.post( "postIO.php", {img:dturl}, function(data) {
        //$('#recieve').append(data);
    }); 
}

$('.myButton').click(function(){
    var el = $('#myDiv').get(0); 
    html2canvas.Preload(el, {
        complete: function(image){
            var queue = html2canvas.Parse(el, image, {elements: el}),
                $canvas = $(html2canvas.Renderer(queue, {elements: el}));
            saveData($canvas[0].toDataURL());
        }
    });
});

关于php - html2canvas 输出选定的div PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10778105/

相关文章:

php - 使用 php 和 sql 的登录页面无法正常工作

php - Symfony 和 Twig 模板。如何动态扩展模板或什么也不扩展?

javascript - 如何使用CSS在顶部导航栏上添加后退按钮?

javascript - Bootstrap 4 轮播幻灯片没有动画

javascript - jQuery : How to check if NO option was explicitly selected in a select box

php - 使用 iframe 或 javascript 将内容加载到 div

javascript - 事件监听器触发后延迟执行

javascript - 关闭后刷新 Bootstrap 模态

javascript - 使用 Firefox 访问 Restdb.io API 时收到错误

php - Zend 3 传递给 Application\Controller\IndexController::__construct() 的参数 1 必须是 的实例,没有给出,