js实现canvas图片与img图片的相互转换的示例


Posted in Javascript onAugust 31, 2017

最近在一个项目中,遇到了一个问题,需要把生成的canvas形式的二维码转换为图片,可以长按识别,保存等。查找了一些资料归纳总结了一些知识。

默认在jq库里进行,引入jquery.qrcode.min.js库,将canvas图片转化为img图片,代码如下,

<body>
  <div id="cans"></div>
  <div id="img"></div>
</body>
<script>
//生成canvas形式的二维码
$("#cans").qrcode({
  width:150,
  height:150,
  text:'http://www.cnblogs.com/dxzg/p/6424855.html'//需要生成的内容
  });
  
//从 canvas 提取图片 image 
function convertCanvasToImage(canvas) { 
  //新Image对象,可以理解为DOM 
  var image = new Image(); 
  // canvas.toDataURL 返回的是一串Base64编码的URL
  // 指定格式 PNG 
  image.src = canvas.toDataURL("image/png"); 
  return image; 
} 

//获取网页中的canvas对象 
var mycans=$('canvas')[0];  
//调用convertCanvasToImage函数将canvas转化为img形式  
var img=convertCanvasToImage(mycans); 
//将img插入容器 
$('#img').append(img); 
</script>

同理也可以将图片转换为canvas,转换函数如下:

// 把image 转换为 canvas对象 
function convertImageToCanvas(image) { 
  // 创建canvas DOM元素,并设置其宽高和图片一样  
  var canvas = document.createElement("canvas"); 
  canvas.width = image.width; 
  canvas.height = image.height; 
  // 坐标(0,0) 表示从此处开始绘制,相当于偏移。 
  canvas.getContext("2d").drawImage(image, 0, 0);  
  return canvas; 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
一个JS翻页效果
Jul 23 Javascript
jquery 查找select ,并触发事件的实现代码
Mar 30 Javascript
JQuery实现简单时尚快捷的气泡提示插件
Dec 20 Javascript
jquery多选项卡效果实例代码(附效果图)
Mar 23 Javascript
jquery移动节点实例
Jan 14 Javascript
JavaScript通过字典进行字符串翻译转换的方法
Mar 19 Javascript
基于vue实现网站前台的权限管理(前后端分离实践)
Jan 13 Javascript
vue 的keep-alive缓存功能的实现
Mar 22 Javascript
Node.js利用console输出日志文件的方法示例
Apr 27 Javascript
Vue props用法详解(小结)
Jul 03 Javascript
手挽手带你学React之React-router4.x的使用
Feb 14 Javascript
Vue实现搜索结果高亮显示关键字
May 28 Javascript
vue实现全选和反选功能
Aug 31 #Javascript
浅谈Vue 初始化性能优化
Aug 31 #Javascript
Vue keep-alive实践总结(推荐)
Aug 31 #Javascript
深入理解vue-router之keep-alive
Aug 31 #Javascript
vue-router 导航钩子的具体使用方法
Aug 31 #Javascript
浅谈express 中间件机制及实现原理
Aug 31 #Javascript
JavaScript 通过Ajax 动态加载CheckBox复选框
Aug 31 #Javascript
You might like
PHP实现MySQL更新记录的代码
2008/06/07 PHP
frename PHP 灵活文件命名函数 frename
2009/09/09 PHP
深入理解PHP类的自动载入机制
2016/09/16 PHP
thinkPHP框架对接支付宝即时到账接口回调操作示例
2016/11/14 PHP
PHP数据库编程之MySQL优化策略概述
2017/08/16 PHP
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
让你的PHP,APACHE,NGINX支持大文件上传
2021/03/09 PHP
jquery JSON的解析方式
2009/07/25 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
2016/05/31 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
javascript删除html标签函数cIsHTML
2017/01/09 Javascript
VUE axios上传图片到七牛的实例代码
2017/07/28 Javascript
vue 每次渲染完页面后div的滚动条保持在最底部的方法
2018/03/17 Javascript
vue-swiper的使用教程
2018/08/30 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
Vue CLI2升级至Vue CLI3的方法步骤
2019/05/20 Javascript
基于vue-cli3创建libs库的实现方法
2019/12/04 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
[02:54]DOTA2英雄基础教程 撼地者
2014/01/14 DOTA
[02:54]辉夜杯主赛事第二日败者组 iG.V赛后采访
2015/12/26 DOTA
[08:40]Navi Vs Newbee
2018/06/07 DOTA
Python简明入门教程
2015/08/04 Python
Python脚本实现Web漏洞扫描工具
2016/10/25 Python
python操作excel的包(openpyxl、xlsxwriter)
2018/06/11 Python
Python除法之传统除法、Floor除法及真除法实例详解
2019/05/23 Python
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
基于python3 的百度图片下载器的实现代码
2019/11/05 Python
python图片验证码识别最新模块muggle_ocr的示例代码
2020/07/03 Python
基于HTML5 audio元素播放声音jQuery小插件
2011/05/11 HTML / CSS
项目经理任命书
2014/06/04 职场文书
孝敬父母的活动方案
2014/08/31 职场文书
单位在职证明书
2014/09/11 职场文书
房产转让协议书(2014版)
2014/09/30 职场文书
上班迟到检讨书范文300字
2014/11/02 职场文书
5个实用的JavaScript新特性
2022/06/16 Javascript
CSS 鼠标点击拖拽效果的实现代码
2022/12/24 HTML / CSS