之前用html2canvas,发现动态生成DOM节点后,再根据DOM节点生成canvas会很卡,几百毫秒到几秒不等,具体原因没去深究。替换成了dom-to-image 实际使用时都很正常,这里有个坑。当动态生成的DOM节点使用了position: absolute;时,会导致生成的图片是个空白图片,宽高都有,就是一个空白图片。 解决方案 修改动态生成的DOM...
// 引入DOM-to-Image库importdomtoimagefrom'dom-to-image';// 目标元素constnode=document.getElementById('my-node');// 生成图片domtoimage.toPng(node,{quality:1,style:{transform:'scale(2)'}}).then(function(dataUrl){constimg=newImage();img.src=dataUrl;document.body.appendChild(img);}).ca...
问了解决这两个问题,建议改造一下库的处理,删去原有的处理,自己手动给dom2image传入需要的字体文件,或者是直接在需要转化的dom中自己插入字体style 总结 domtoimage的方案,确实是有很多的坑,但也不是完全不能在工程中使用,使用前还是要注意解决一下他自身的一些问题。最后base64的这个方案还是有些问题,来源于base6...
生成结果图 在移动端,table表格生成图片后,缺少下边框,原本我以为是图片显示的问题,最后发现并不是,然后就找生成图片的实现函数,不多说,直接上代码 原始插件函数 原始插件函数 因为我发现我内容没问题,就缺少边框,因此作出如下修改: 修改后 修改后 最终结果: OK,至此,遇到的问题完美解决!!!
1.使用dom-to-image,git地址:https://github.com/tsayen/dom-to-image 2.将生成的图片(base64)通过jsBridge (可参考:https://www.jianshu.com/p/d9f457842091)提供给客户端 3.客户端通过集成友盟SDK进行图片分享 执行 使用toPng,结果:图片较为模糊;aos显示正常,ios部分背景图片无法显示 ...
生成图片 替换img src letdataURL = c.toDataURL("image/png");letcanvasImg =document.getElementById("canvasImg"); canvas.src= dataURL; 上传服务器,得到img url(可作为参数,保存图片) letdataURL = c.toDataURL("image/png");functiongetImgUrl(dataURL){//一些上传服务器的代码returnimgUrl ...
首先我需要截图的demo图片很多很多,当我使用html2canvas转的时候总是有一部分没有截上,我上网上找了几个办法,都没有解决,就很狗血无语,,gitlab上好像没...
dom-to-image库可以帮你把dom节点转换为图片,它的核心原理很简单,就是利用svg的foreignObject标签能嵌入html的特性,然后通过img标签加载svg,最后再通过canvas绘制img实现导出,好了,本文到此结束。 另一个知名的html2canvas库其实也支持这种方式。 虽然原理很简单,但是dom-to-image毕竟也有1000多行代码,所以我很好奇它...
domtoimage.toPng(node, { quality: 0.95 }).then(function (dataUrl) { var img = new Image();img.src = dataUrl;img.setAttribute("crossOrigin", 'Anonymous');//用一个容器盛放 var result = document.getElementById("result");result.appendChild(img);//或者直接下载(PC端)var link = ...