Javascript 使用html2canvas将带有背景图像的画布保存到服务器
我目前有一个脚本,它通过使用html2canvas从画布成功创建了一个图像,包括其包含的Div背景图像。我还有一个脚本,可以使用canvas2image插件将画布作为图像保存到服务器,但背景不显示 我遇到的问题是,当我尝试将二者结合起来,以便将Div bg和canvas作为图像保存到服务器时,没有发生任何事情,我认为这是由于canvas2image插件未启动造成的 这两个插件结合在一起的代码就在这里Javascript 使用html2canvas将带有背景图像的画布保存到服务器,javascript,jquery,html,canvas,html2canvas,Javascript,Jquery,Html,Canvas,Html2canvas,我目前有一个脚本,它通过使用html2canvas从画布成功创建了一个图像,包括其包含的Div背景图像。我还有一个脚本,可以使用canvas2image插件将画布作为图像保存到服务器,但背景不显示 我遇到的问题是,当我尝试将二者结合起来,以便将Div bg和canvas作为图像保存到服务器时,没有发生任何事情,我认为这是由于canvas2image插件未启动造成的 这两个插件结合在一起的代码就在这里 function exportAndSaveCanvas() { html2canvas($
function exportAndSaveCanvas() {
html2canvas($("#containingDiv"), {
background:'#fff',
onrendered: function(canvas) {
// var imgData = canvas.toDataURL('image/jpeg'); <--This would create the image needed
//but I replaced with the line below to tie in the two plugins
var screenshot = Canvas2Image.saveAsPNG(canvas, true);
canvas.parentNode.appendChild(screenshot);
screenshot.id = "canvasimage";
data = $('#canvasimage').attr('src');
canvas.parentNode.removeChild(screenshot);
// Send the screenshot to PHP to save it on the server
var url = 'upload/export.php';
$.ajax({
type: "POST",
url: url,
dataType: 'text',
data: {
base64data : data
}
});
}
});
}
函数exportAndSaveCanvas(){
html2canvas($(“#containingDiv”),{
背景:“#fff”,
onrendered:函数(画布){
//var imgData=canvas.toDataURL('image/jpeg');在写入另一幅图像之前,先将背景图像写入画布。关于将图像写入画布的MDN页面应涵盖以下内容:
顺便说一句,我不知道你为什么要用插件来做你用本机canvas API免费得到的任何东西。dtanders说“顺便说一句,我不知道你为什么要用插件来做你用本机canvas API免费得到的任何东西。”
这让我觉得我让它变得比需要的更难,所以我去掉了一些代码。下面的脚本正是我需要的
function exportAndSaveCanvas() {
html2canvas($("#containingDiv"), {
background:'#fff',
onrendered: function(canvas) {
var imgData = canvas.toDataURL('image/jpeg');
var url = 'upload/export.php';
$.ajax({
type: "POST",
url: url,
dataType: 'text',
data: {
base64data : imgData
}
});
}
}); //End html2canvas
} // End exportAndSaveCanvas()
为什么不直接将背景图像加载到画布中呢?我是画布新手…不知道该怎么做。你如何取回它?它会被发送到HTMLC中的#containingDiv。这个函数可以在单击时初始化吗?例如,如果用户单击一个链接,它会从该点保存图像?然后我有一个表单将该图像发送给某人。是的,我按一下按钮就发射它。
function exportAndSaveCanvas() {
html2canvas($("#containingDiv"), {
background:'#fff',
onrendered: function(canvas) {
var imgData = canvas.toDataURL('image/jpeg');
var url = 'upload/export.php';
$.ajax({
type: "POST",
url: url,
dataType: 'text',
data: {
base64data : imgData
}
});
}
}); //End html2canvas
} // End exportAndSaveCanvas()