官网文档: http://html2canvas.hertzen.com/

使用的是 jquery 3.2.1   html2canvas 1.0.0-rc.7

截取根据id的指定区域:

var canvasOtherTopHeight = $('.heading').height() + 31 + $('#site-navbar').height();  // .heading是指定区域父级上面同级的dom,因为存在高度,所以要计算到内
function createCanvas(id, obj) {
// 1.获取高度
let canvasObj = $('#' + id);
// 2.区域为画布
// console.log('--==', canvasObj.width(), canvasObj.height(), canvasObj.offset().left, canvasObj.parent().parent().position().top); html2canvas(canvasObj.get(0), {
useCORS: true,
width: canvasObj.width() + 5,
height: canvasObj.height() - excelHeight,
x: canvasObj.offset().left,
y: canvasObj.parent().top + canvasOtherTopHeight
}).then(canvas => {
// canvasObj.parent().find('.target-canvas-img').attr('src', canvas.toDataURL('image/png', 1.0));
canvasObj.parent().find('.canvas-wrapper .canvas-word').append(canvas);
}); }

截取根据id的iframe的区域:

function createCanvas(id, obj) {
// 1.获取高度
let canvasObj = $('#' + id);
// 2.答案区域为图片
// console.log('--==', canvasObj.width(), canvasObj.height(), canvasObj.offset().left, canvasObj.parent().parent().position().top);
// excel的高度
let excelHeight = canvasObj.find('.answer-con-excel-container iframe').height(); let iframeHtml = canvasObj.find('.answer-con-excel-container iframe'); // 获取iframe内容
let iframeBody = iframeHtml.contents().find('body')[0];
html2canvas(iframeBody, {
allowTaint: true,
useCORS: true,
width: 820, // TODO 截屏按照1920*1080分辨率下的预览窗口宽高
height: 800,
x: 0,
y: 0
}).then(canvas => {
// canvasObj.parent().find('.target-canvas-img-excel').attr('src', canvas.toDataURL('image/png', 1.0));
canvasObj.parent().find('.canvas-wrapper .canvas-excel').append(canvas);
})
}

其中参数 width height 可根据效果进行增减

最新文章

  1. Redis学习笔记——初级
  2. 基于LeNet网络的中文验证码识别
  3. fstream的使用方法介绍
  4. 修复UIImagePickerController偷换StatusBar颜色的问题
  5. Java生成excel导出文件(使用poi+JXL)
  6. iOS开发之数据存取2-CoreData后台查询数据
  7. 1、关于Boolean(2015年05月30日)
  8. Ubuntu 添加桌面快捷方式
  9. photoshop动作面板批量处理图片边框技巧
  10. IOS开发之IOS8.0最新UIAlertController 分类: ios技术 2015-01-20 14:24 144人阅读 评论(1) 收藏
  11. ubuntu 16.04系统下解决MySQL 5.7版本的root用户重置密码问题
  12. MVC面试问题与答案
  13. Windows 系统采用批处理命令修改 ip 地址
  14. springMVC学习(7)-springMVC校验
  15. week6:Diagnosing Bias vs. Variance难点记录
  16. Core - Provide an easy way to store administrator and user model differences in a custom store (e.g., in a database)
  17. 【Unity Shader】(五) ------ 透明效果之半透明效果的实现及原理
  18. tomcat下程序包的安装与部署
  19. Python2 字典 cmp() 函数
  20. Java jstl标签使用总结

热门文章

  1. Java课程设计 SSM新闻资讯管理系统 博客论坛管理系统 Java编程 博客系统源代码
  2. AI+云原生,把卫星遥感虐的死去活来
  3. 设计模式:单例模式的使用和实现(JAVA)
  4. 蓝桥杯练习-各大OJ平台介绍
  5. 【翻译稿】Behavior Driven Development (BDD)行为驱动开发
  6. SpringBoot返回枚举对象中的指定属性
  7. C#基础知识---动态为类型添加属性
  8. Jsoup类
  9. C# 计算文件的MD5
  10. RabbitMq内存分页