求救 ..为什么使用 html2canvas 转化的 canvas 不能调用 toDataURL 方法?????????

u011141772 2013-06-21 01:21:23
我先用 html2canvas 把dom转化成 canvas


//将dom树转换为canvas
function print_body() {
var test = $('div.helloworld');
html2canvas(test, {
onrendered : function(canvas) {
document.body.appendChild(canvas);
}
});
alert(test)
//然后调用下载的方法
download_canvas(test);
}




//将canvas画板导出
function download_canvas(oCanvas) {

var bMouseIsDown = false;
//var oCanvas = document.getElementById("thecanvas");

oCanvas.onmousedown = function(e) {
bMouseIsDown = true;
iLastX = e.clientX
- oCanvas.offsetLeft
+ (window.pageXOffset || document.body.scrollLeft || document.documentElement.scrollLeft);
iLastY = e.clientY
- oCanvas.offsetTop
+ (window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop);
}
oCanvas.onmouseup = function() {
bMouseIsDown = false;
iLastX = -1;
iLastY = -1;
}
oCanvas.onmousemove = function(e) {
if (bMouseIsDown) {
var iX = e.clientX
- oCanvas.offsetLeft
+ (window.pageXOffset || document.body.scrollLeft || document.documentElement.scrollLeft);
var iY = e.clientY
- oCanvas.offsetTop
+ (window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop);
iLastX = iX;
iLastY = iY;
}
}

function showDownloadText() {
document.getElementById("buttoncontainer").style.display = "none";
document.getElementById("textdownload").style.display = "block";
}

function hideDownloadText() {
document.getElementById("buttoncontainer").style.display = "block";
document.getElementById("textdownload").style.display = "none";
}

function convertCanvas(strType) {
if (strType == "JPEG") {
var oImg = Canvas2Image.saveAsJPEG(oCanvas, true);
}
if (!oImg) {
alert("Sorry, this browser is not capable of saving " + strType
+ " files!");
return false;
}

oImg.id = "canvasimage";

oImg.style.border = oCanvas.style.border;
oCanvas.parentNode.replaceChild(oImg, oCanvas);

showDownloadText();
}

saveCanvas(oCanvas, "JPEG");//在这里报错 说 无法找到 toDataURL 方法
function saveCanvas(pCanvas, strType) {
var bRes = false;
if (strType == "JPEG") {
bRes = Canvas2Image.saveAsJPEG(oCanvas);
}
if (!bRes) {
alert("Sorry, this browser is not capable of saving " + strType
+ " files!");
return false;
}
}
}

之前我写好了一个 canvas 然后直接调用下载方法就可以 正常下载 为什么 html2canvas 生成的canvas 就不能调用呢
...全文
418 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
u011141772 2013-06-21
  • 打赏
  • 举报
回复
引用 3 楼 functionsub 的回复:
难道你就没发现你传进去的实际参数是一个jquery对象么?
function print_body() {
        var test = $('div.helloworld');
        html2canvas(test, {
            onrendered : function(canvas) {
                document.body.appendChild(canvas);
                //canvas生成之后,然后调用下载的方法
                download_canvas(canvas);
            }
        });
}
应该这样吧
给大神跪了 leader说我粗心 。。果然是这样
functionsub 2013-06-21
  • 打赏
  • 举报
回复
难道你就没发现你传进去的实际参数是一个jquery对象么?
function print_body() {
        var test = $('div.helloworld');
        html2canvas(test, {
            onrendered : function(canvas) {
                document.body.appendChild(canvas);
                //canvas生成之后,然后调用下载的方法
                download_canvas(canvas);
            }
        });
}
应该这样吧
u011141772 2013-06-21
  • 打赏
  • 举报
回复
u011141772 2013-06-21
  • 打赏
  • 举报
回复
求 版主 showbo 解答啊
WPS Office 2019 是一款功能丰富的办公软件套装,它整合了文字、表格、演示、PDF 等组件,具备体积小巧、功能丰富、兼容性强等特点,能满足日常办公的多种需求。 功能组件丰富:包含 WPS 文字、WPS 演示、WPS 表格、WPS PDF 等组件,可用于文档编辑、表格计算、幻灯片制作、PDF 处理等,支持 DOC、DOCX、XLS、XLSX、PPT 等多种格式,能与 Microsoft Office 较好地兼容。 支持云存储与协作:用户登录 WPS 账号后,可实现多终端、跨平台的数据同步,还能与他人协同办公,文档可通过微信、QQ 等社交平台一键分享。 PDF 功能强大:提供沉浸式 PDF 阅读体验和稳定的编辑服务,支持一键编辑 PDF 文档内容。借助 OCR 技术,可精准转换文档、表格、PPT、图片等格式的文件。 界面设计优化:具有全新视觉设计,默认皮肤舒适清爽,还支持桌面背景、界面字体、皮肤、格式图标等个性化设置。同时,文档标签可拖拽成独立窗口或合并,用户可自主选择文档显示方式,还能将文件放置在不同工作区,便于分类浏览与管理。 内置实用工具:内置了简单的网页浏览器,点击文档中的链接会默认用其打开,可进行网页添加到首页、另存为 PDF 等操作。此外,“应用中心” 集成了输出转换、文档助手、安全备份等多种实用功能。 模板资源丰富:稻壳商城提供了大量模板、范文、图片等素材资源,涵盖求职简历、总结计划、合同协议等常见文档类型,方便用户快速创建专业文档。 表格功能特色突出:支持通过关键词快速切换工作表,设有阅读模式和护眼模式。还可分类合并单元格,以及拆分合并单元格并填充内容。公式编辑器中可轻松完成公式嵌套,筛选时可通过 “仅筛选此项” 一步完成特定值筛选,还能根据筛选条件生成动态分析图表。另外,“特色功能” 和 “智能工具箱” 菜单中包含 PDF

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧