js生成二维码/html2canvas生成屏幕截图
1.需求简述
2.最初需求实现方案
3.新需求实现方案
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, user-scalable=yes">
<script type="text/javascript" src="js/jquery-1.8.3.min.js" ></script>
<script type="text/javascript" src="js/jquery.qrcode.js" ></script>
<script type="text/javascript" src="js/utf.js" ></script>
<script type="text/javascript" src="js/html2canvas.min.js"></script>
<style>
*{font-size:0.5rem}
#qrcodeCanvas{position: relative;width:200px;height:200px;margin: 0 auto;}
.logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);}
#htmlDiv p{text-align: center;}
h3{color:brown}
</style>
</head>
<body>
<h3>DOM元素:</h3>
<div id="htmlDiv">
<div id="qrcodeCanvas">
<img width="50" height="50" src="img/gray.jpg" class='logo'/>
</div>
<p>春去秋来,海棠花开。你是否已化作风雨,穿越时光来到这里。</p>
</div>
<h3>图片: </h3>
<img src="" id="img"/> <script type="text/javascript">
window.onload=function(){
var htmlDiv = document.getElementById("htmlDiv"); jQuery('#qrcodeCanvas').qrcode({
render : "canvas",
text : "http://www.cnblogs.com/imelemon/p/6677956.html",
width : "200", //二维码的宽度
height : "200", //二维码的高度
background : "#ffffff", //二维码的后景色
foreground : "#000000" //二维码的前景色
// ,src: 'img/gray.jpg' //二维码中间的图片
}); /*
* HTML转图片
*/
var canvas = document.createElement("canvas");
canvas.width = window.screen.width*1.5 ;
canvas.height = window.screen.height*1.5; var context = canvas.getContext("2d");
//context.scale(2,2); html2canvas(htmlDiv, {
canvas: canvas,
onrendered: function(canvas) {
var myImage = canvas.toDataURL("image/png");
document.getElementById("img").setAttribute("src",myImage);
}
});
};
</script>
</body>
</html>
4.遇坑及解决方法
遇到的问题:
1.生成了二维码图片,保存用微信识别的时候部分安卓机不去识别;
解决方法:
可能生成二维码的url过长,可适当增大qrcode()中二维码的宽高;
5.运行效果
保存为图片后:
项目源码下载地址: https://github.com/yingliyu/html2canvas.git
小伙伴如有疑问,欢迎交流;-)
js生成二维码/html2canvas生成屏幕截图的更多相关文章
- 前端生成二维码 - Javascript生成二维码(QR)
前段时间项目中需要动态的生成二维码,经过评估,前后端生成都可以.但后端生成会有两个问题: 没有找到正规发布出来的后端开源库. 二维码图片,会随着商品的增加而不断变多. 基于以上两个问题,决定在前端生成 ...
- 后端生成二维码 - C#生成二维码(QR)
最近在github上找到一个相对比较好的C#二维码生成类库.在这里和大家分享一下. github地址:https://github.com/codebude/QRCoder 把解决方案下载下来,编译生 ...
- 小程序动态生成二维码,生成image图片
前端: <image src="{{img_usrl}}" style="width:100%;height:104px;" bindlongtap=&q ...
- js动态生成二维码
一.使用jquery.qrcode生成二维码 1.首先在页面中加入jquery库文件和qrcode插件 <script type="text/javascript" src= ...
- ecstore生成二维码
利用phpqrcode库生成二维码: /* *二维码添加 */ ////////////////////////////////////// /*引入文件*/ @include(APP_DIR.'/i ...
- 生成二维码 加密解密类 TABLE转换成实体、TABLE转换成实体集合(可转换成对象和值类型) COOKIE帮助类 数据类型转换 截取字符串 根据IP获取地点 生成随机字符 UNIX时间转换为DATETIME\DATETIME转换为UNIXTIME 是否包含中文 生成秘钥方式之一 计算某一年 某一周 的起始时间和结束时间
生成二维码 /// <summary>/// 生成二维码/// </summary>public static class QRcodeUtils{private static ...
- VUE 生成二维码插件
原文:https://www.jianshu.com/p/496fd1cbee8d npm install qrcodejs2 --save 页面中引入 dom 结构 JS 方法编写 export d ...
- thinkphp3.2集成QRcode生成二维码
一.下载QRcode源代码 https://sourceforge.net/projects/phpqrcode/files/releases/ 使用phpqrcode必须开启GD2扩展,phpqrc ...
- iOS 二维码的生成 QREncoder
生成二维码: 在生成二维码的库中QREncoder最为常见,但是由于中文字符的特殊性,生成中文的时候有时会出现一定的错误,所以建议使用libqrencode,是一个纯C编写的类库. 以libqrenc ...
随机推荐
- [svc]caffe安装笔记-显卡购买
caffe,这是是数据组需要做一些大数据模型的训练(深度学习), 要求 服务器+显卡(运算卡), 刚开始老板让买的牌子是泰坦的(这是2年前的事情了). 后来买不到这个牌子的,(jd,tb)看过丽台的, ...
- iOS之设置用户头像的圆角
1. 显示用户头像用UIImageView实现,添加默认图片后效果如下图所示,头像显示为矩形图片. 代码实现: // ViewController.m // SetUserImage // // Cr ...
- 【Objective-C】02-Objective-C学习及iOS开发的准备
前言 由于大部分朋友对iOS开发还是有比较多的疑问,比如是不是一定要买iPhone和苹果笔记本才能做iOS开发?因此,这讲就为广大有意学习iOS开发的朋友们进行解惑. 一.什么是iOS开发 iOS是由 ...
- unity shader(二)
- 线程的sleep()方法和yield()方法有什么区别?
1.sleep()方法给其他线程运行机会时不考虑线程的优先级,因此会给低优先级的线程以运行的机会 2.yield()方法只会给相同优先级或更高优先级的线程以运行的机会 3.线程执行sleep()方法后 ...
- jquery几个按钮同时调用一个方法
- 嵌入式驱动开发之解码器tvp5150---tvp5150am1基于8148vpss的添加调试
(1)i2c (2)注册设备 (3)寄存器 --------------author:pkf ------------------------time:2015-4-5 --------------- ...
- 怎样在xilinx SDK中显示行号
Window→preferences→editor→test editor 对ecilpse的通用方法 打开Eclipse软件,在菜单中选择窗体--首选项.打开新的窗体. 在新的窗体中依次选择常规-- ...
- 安装tomcat出现failed to install tomcat6 service错误及解决方法(转载)
安装安装版tomcat会出现failed to install tomcat6 service ,check your setting and permissio的概率是非常低的,但是最近楼主就老出现 ...
- uGUI动态加载控件位置错误
最近在使用uGUI时遇到了一个问题,在此记录一下.在Canvas的Render Mode设置为Screen Space-Overlay模式时,动态加载控件是不会发生问题的.但是在Screen Spac ...