html5 canvas手写字代码(兼容手机端)

画板实验

清 空

生成图片

var canvas,board,img;

canvas = document.getElementById(‘myCanvas‘);

img= document.getElementById(‘img‘);

canvas.height = 300;

canvas.width = 300;

board = canvas.getContext(‘2d‘);

var mousePress = false;

var last = null;

function beginDraw(){

mousePress = true;

}

function drawing(event){

event.preventDefault();

if(!mousePress)return;

var xy = pos(event);

if(last!=null){

board.beginPath();

board.moveTo(last.x,last.y);

board.lineTo(xy.x,xy.y);

board.stroke();

}

last = xy;

}

function endDraw(event){

mousePress = false;

event.preventDefault();

last = null;

}

function pos(event){

var x,y;

if(isTouch(event)){

x = event.touches[0].pageX;

y = event.touches[0].pageY;

}else{

x = event.offsetX+event.target.offsetLeft;

y = event.offsetY+event.target.offsetTop;

}

// log(‘x=‘+x+‘ y=‘+y);

return {x:x,y:y};

}

function log(msg){

var log = document.getElementById(‘log‘);

var val = log.value;

log.value = msg+‘

‘+val;

}

function isTouch(event){

var type = event.type;

if(type.indexOf(‘touch‘)>=0){

return true;

}else{

return false;

}

}

function save(){

//base64

var dataUrl = canvas.toDataURL();

img.src = dataUrl;

}

function clean(){

board.clearRect(0,0,canvas.width,canvas.height);

}

board.lineWidth = 1;

board.strokeStyle="#0000ff";

canvas.onmousedown = beginDraw;

canvas.onmousemove = drawing;

canvas.onmouseup = endDraw;

canvas.addEventListener(‘touchstart‘,beginDraw,false);

canvas.addEventListener(‘touchmove‘,drawing,false);

canvas.addEventListener(‘touchend‘,endDraw,false);

html5实现安卓的手写功能,html5 canvas手写字代码(兼容手机端)(示例代码)相关推荐

  1. 安卓通过SurfaceView类实现手写功能(上)

    1 SurfaceView类简介 1.1 SurfaceView类 SurfaceView类的全称是android.view.SurfaceView,派生自andriod.view.View.Surf ...

  2. 安卓通过SurfaceView类实现手写功能(下)

    2.5 处理手写动作 可以通过SurfaceView类的派生类来实现触屏(手写)动作的处理.也可以直接重写MainActivity类的onTouchEvent()方法来处理手写动作.当MainActi ...

  3. DroidPilot V2.1 手写功能特别版

    庆祝为国内某知名安卓设备厂商定制的DroidPilot V2.1 手写功能版发布,我们特别制作了这集视频,欢迎观看:http://v.youku.com/v_show/id_XNDk4Mzg2NTAw ...

  4. wpf 切换搜狗输入法英文_搜狗输入法全新升级手写功能,中英数字自由写,告别切换丨本周新闻...

    搜狗AI合成主播雅妮 为您带来搜狗本周新闻播报 新 闻 原 文 .01. 2019搜狗全年营收超80亿人民币,创历史新高 近期,搜狗公布了2019年第四季度及全年未经审计的财务报告.财报显示,2019 ...

  5. 联想笔记本那些有手写功能_联想发YOGABOOK笔记本 全触控键盘能手写很炫

    腾讯数码讯(周硕)9月21日,联想正式在国内发布了此前在IFA首次亮相的全新Yoga系列二合一笔记本新品.这一代Yoga 5 Pro笔记本最大的特点是采用了4K分辨率超窄边框设计,看起来极简美观.而Y ...

  6. JavaScript进阶必会的手写功能

    JavaScript进阶的必要性 无论是学习react还是vue,它们都是js的应用框架.剥去他们的壳子看到的始终是js,所以作为一个前端大厨必须要熟练掌握好js这个大勺,才能烧出一顿好菜 无论是自我 ...

  7. 有道云笔记android手写,有道云笔记iPad版升级 新增手写功能

    近日,有道云笔记iPad版发布重大更新,新版增加的手写功能使得用户的笔记记录速度再次大幅提升.伴随此次更新,有道云笔记iPad版编辑器也进行了全面升级.新版编辑器基于iOS5系统特性进行了重新开发,可 ...

  8. JavaScript进阶必会的手写功能(二)

    JavaScript进阶必会的手写功能(一) 6. 手写浅拷贝 6.1 JavaScript数据类型分类 1. 简单数据类型: Number. String.Boolean.null.undefine ...

  9. 测试MBP的手写功能

    现在使用MacBPro下的话手写功能.感觉不错. 下面就是界面了.

最新文章

  1. Dreamweaver 2020安装教程
  2. androidtabhost缓存_Android学习笔记(一):TabHost存放多个Activity
  3. 进程控制:进程的创建、终止、阻塞、唤醒和切换
  4. android8 通知呼吸灯_Android8.0及以上的Notification
  5. mysql 同一天多条记录只取第一条_MySQL面试高频100问(二)
  6. Xception总结
  7. 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_07-新增页面-前端-页面完善...
  8. 跟我一起写大虾网(第0天)
  9. 黑马java学习笔记4 强化部分 常见API
  10. 服务器节点数及系统数量,计算节点服务器数量16.docx
  11. python判断谁做了好事
  12. 六、Python文件操作
  13. python兔子繁殖问题
  14. 35岁以后的Android程序员出路在哪里?大牛最佳总结
  15. 两张显卡在win10上如何使用
  16. ubuntu20.04关闭内核自动更新
  17. 国庆节去哪浪?让 Python 帮你分析分析
  18. 机器学习有哪些应用?可以用来做什么?
  19. linux下查看已安装的软件与卸载,(转)linux下查看已安装的软件与卸载
  20. Markdown插入图片

热门文章

  1. vue层叠轮播slider插件
  2. 熟悉大数据存储基础(实验报告)
  3. 淘宝直播的“一哥”和“一姐”:当年有多卑微,今天就有多荣耀!
  4. Ettercap的基本使用
  5. 【Win10】Java开发环境搭建新手教程(图文)
  6. 搭建ELK日志服务器
  7. (转载)富人孩子和穷人孩子,差的真不仅仅是钱
  8. Spring+SpringMVC+Hibernate整合操作数据库 概述
  9. detour TopologyOptimization
  10. DEJA_VU3D - Cesium功能集 之 034-可视域分析(纯前端)完整版