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 相关文章推荐
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
Feb 03 Javascript
JavaScript异步调用定时方法并停止该方法实现代码
Mar 16 Javascript
了不起的node.js读书笔记之node.js中的特性
Dec 22 Javascript
js+css实现tab菜单切换效果的方法
Jan 20 Javascript
js过滤HTML标签完整实例
Nov 26 Javascript
BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
Apr 03 Javascript
AngularJs 60分钟入门基础教程
Apr 03 Javascript
JS构造函数与原型prototype的区别介绍
Jul 04 Javascript
vue 使用vue-i18n做全局中英文切换的方法
Oct 29 Javascript
Vue.js组件高级特性实例详解
Dec 24 Javascript
JavaScript中的一些实用小技巧总结
Apr 07 Javascript
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
May 13 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实现框架(二)
2006/10/09 PHP
PHP 裁剪图片成固定大小代码方法
2009/09/09 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
PHP+MYSQL实现读写分离简单实战
2017/03/13 PHP
PHP的PDO大对象(LOBs)
2019/01/27 PHP
JavaScript 入门·JavaScript 具有全范围的运算符
2007/10/01 Javascript
Extjs EditorGridPanel中ComboBox列的显示问题
2011/07/04 Javascript
ie6下png图片背景不透明的解决办法使用js实现
2013/01/11 Javascript
js判断生效时间不得大于失效时间的思路及代码
2013/04/23 Javascript
Nodejs进阶:如何将图片转成datauri嵌入到网页中去实例
2016/11/21 NodeJs
遍历json获得数据的几种方法小结
2017/01/21 Javascript
详解如何在Vue2中实现组件props双向绑定
2017/03/29 Javascript
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
Vue.js实现价格计算器功能
2020/03/30 Javascript
vue-image-crop基于Vue的移动端图片裁剪组件示例
2018/08/28 Javascript
js 下拉菜单点击旁边收起实现(踩坑记)
2019/09/29 Javascript
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)
2020/04/03 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
2020/05/28 Javascript
vue监听dom大小改变案例
2020/07/29 Javascript
Python字符串格式化
2015/06/15 Python
Python对列表中的各项进行关联详解
2017/08/15 Python
django用户注册、登录、注销和用户扩展的示例
2018/03/19 Python
使用Python制作自动推送微信消息提醒的备忘录功能
2018/09/06 Python
Python 批量刷博客园访问量脚本过程解析
2019/08/30 Python
Html5适配iphoneX刘海屏的简单实现
2019/04/09 HTML / CSS
static全局变量与普通的全局变量有什么区别
2014/05/27 面试题
小区停车场管理制度
2014/01/27 职场文书
女娲补天教学反思
2014/02/05 职场文书
作文批改评语大全
2014/04/23 职场文书
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
社区党的群众路线教育实践活动总结材料
2014/10/31 职场文书
证券区域经理岗位职责
2015/04/10 职场文书
2015年高中生国庆节演讲稿
2015/07/30 职场文书
Java 获取Word中所有的插入和删除修订的方法
2022/04/06 Java/Android
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server