html2canvas输出选定的div PHP

html2canvas输出选定的div PHP,php,javascript,jquery,html2canvas,Php,Javascript,Jquery,Html2canvas,这段代码几乎可以工作 这将把整个页面输出到jpg中 问题:如何仅获取“myDiv”中的内容并将其作为jpg文件输出? JS: var canvasImg=canvasRecord.toDataURLimage/jpg;之后的引用;,您可能需要使用var data=canvasImg.replace/^data:image\/png | jpg;base64,/ 那是$canvasImg=$_POST['canvasImg'];而不是在var canvasImg=canvasRecord.toDa

这段代码几乎可以工作 这将把整个页面输出到jpg中 问题:如何仅获取“myDiv”中的内容并将其作为jpg文件输出? JS:

var canvasImg=canvasRecord.toDataURLimage/jpg;之后的引用;,您可能需要使用var data=canvasImg.replace/^data:image\/png | jpg;base64,/

那是$canvasImg=$_POST['canvasImg'];而不是在var canvasImg=canvasRecord.toDataURLimage/jpg;之后加上$\u POST['img']?

;,您可能需要使用var data=canvasImg.replace/^data:image\/png | jpg;base64,/


那是$canvasImg=$_POST['canvasImg'];我下载并尝试了html2canvas,然后我发现jquery插件没有完成它只是捕获图像并创建画布,没有任何用处,所以我自己编写了捕获代码

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());
        }
    });
});

我已经下载并尝试了html2canvas,然后我发现jquery插件没有完成它只是捕获图像并创建画布,没有任何用处,所以我自己编写捕获代码

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());
        }
    });
});

你可能应该用JavaScript而不是PHP来保存几个字节它的工作原理是它会抓取整个页面,但我想把目标定为一个div你可能应该用JavaScript而不是PHP来保存几个字节它的工作原理是它会抓取整个页面,但我想把目标定为一个div只要把html2canvas.predel,{};只需将该块放入您的Click,就像这样$'.myButton'.clickfunction{html2canvas.preload,{};哪个文本?另一个问题?我试图捕获一个div并保存它,我得到一个只有文本的png透明图像,我从css得到一个背景图像,这很好。但是div中的所有文本都丢失了,只需输入html2canvas.preload,{};只需将该块放入您的Click,就像这样$'.myButton'.clickfunction{html2canvas.preload,{};哪个文本?另一个问题?我试图捕获一个div并保存它,我得到一个只有文本的png透明图像,我从css得到一个背景图像,这很好。但是div中的所有文本都丢失了