当前位置:首页 > 日记 > 正文

JavaScript html5 canvas实现上画超链接

JavaScript html5 canvas实现上画超链接

本文实例为大家分享了html5 canvas在图片上画超链接的具体代码,供大家参考,具体内容如下

1. html

<canvas id="canvasFile" style="margin-top:15px;" width="500" height="400"></canvas> <input type="button" id="btnRedo" value="Re-Draw" class="btn btn-warning"/> 

2. javascript

var photoW = 400;     var photoH = 300;     var photo;               // logic load image into canvas     // ...     // e.g.      // photo = new Image();     // photo.onload = function() {     // draw photo into canvas when ready     // ctx.drawImage(photo, 0, 0, photoW, photoH);     // };     // load photo into canvas     // photo.src = picURL;          // canvas highlight     var canvas = document.getElementById('canvasFile'),       ctx = canvas.getContext('2d'),       img = new Image;     var btnDone = document.getElementById('btnDone');     var btnRedo = document.getElementById('btnRedo');       ctx.strokeStyle = '#FF0000';      function DrawDot(x, y) {       var centerX = x;       var centerY = y;       var radius = 2;         ctx.beginPath();       ctx.arc(centerX, centerY, radius, 0, 2 * Math.PI, false);       ctx.fillStyle = 'red';       ctx.fill();       ctx.lineWidth = 2;       ctx.strokeStyle = '#FF0000';       ctx.stroke();     }       function startDrawing() {       ctx.drawImage(img, 0, 0, photoW, photoH);       canvas.onmousemove = mousemoving;       canvas.onmousedown = mousedownhandle;       canvas.onmouseup = mouseuphandle;       // ## mobile events       //touchstart – to toggle drawing mode “on”       //touchend – to toggle drawing mode “off”       //touchmove – to track finger position, used in drawing       canvas.addEventListener('touchmove', touchmove, false);       canvas.addEventListener('touchend', mouseuphandle, false);         btnRedo.onclick = function (e) {         ctx.clearRect(0, 0, ctx.width, ctx.height);         ctx.drawImage(photo, 0, 0, photoW, photoH);         savedrawing();       }     }     function savedrawing(e) {       var image = document.getElementById('canvasFile').toDataURL("image/jpeg");       image = image.replace('data:image/jpeg;base64,', '');       $("#imgNric1").val(image);     };      function mousemoving(e) {       if (drawing) {         mousedownhandle(e);       }     }       var drawing = false;       function mousedownhandle(e) {       drawing = true;       var r = canvas.getBoundingClientRect(),         x = e.clientX - r.left,         y = e.clientY - r.top;         DrawDot(x, y);     }       function mouseuphandle(e) {       savedrawing();       e.preventDefault();       drawing = false;            }        //// mobile touch events     function touchmove(e) {       if (e.clientX > 800) {         mousedownhandle(e);         return;       }        var r = canvas.getBoundingClientRect(),         //event.changedTouches[0].pageX + ":" + event.changedTouches[0].pageY;         x = e.changedTouches[0].pageX - r.left,         y = e.changedTouches[0].pageY - r.top;         DrawDot(x, y);       e.preventDefault();     } 

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

相关文章

word中多张排版的方法教程详解

word中多张排版的方法教程详解

步骤,方法,教程,多张,详解,  在工作当中,我们经常会使用到办公软件office系列,尤其是Word。在对文档进行编辑的过程中,肯定避免不了插入多张图片、表格、形状、文本框等。但是由于图片、表格、形状、文本框如果正常的编辑的话,经常会按回…

手机wps怎样传送文件

手机wps怎样传送文件

文件,方法,传送,文件传送,电脑软件,  现在手机已经越来越智能了,很多人都会在手机上安装wps办公软件,有时候当我们没有电脑传wps文件时,直接就可以用手机传文件,那么手机wps怎样传送文件呢?下面是小编整理的手机wps传文件的方法,希望能帮到大家…

cdr怎么复制多个图形? cdr旋转复制

cdr怎么复制多个图形? cdr旋转复制

教程,图形,多个,电脑软件,cdr,cdr中可以使用想用的图形旋转得到一个新的图形,该怎么复制图形并旋转呢?下面我们就来看看详细的教程。软件名称:CorelDRAW X8 64位 简体中文安装免费版(附序列号)软件大小:547.9MB更新时间:2016-11-231、可以导入会…

各种设计创意:平面设计与摄影的合

各种设计创意:平面设计与摄影的合

平面设计,创意,技巧,电脑软件,摄影是对生活的艺术再现,一些摄影大师用光影绘画,成就了不朽的传世名作。另一方面,有些艺术家则用拍摄好的照片作为画布,在摄影作品上大胆尝试各种设计创意,为照片增添了别样的艺术效果。如今,越来越多的设计书在摄…

excel表格内怎样勾选小方格图文教

excel表格内怎样勾选小方格图文教

方法,图文教程,方格,勾选,表格,  在excel使用中,有时候需要用到打钩方框,但是搜狗输入法只能输入&ldquo;&radic;&rdquo;,不能输入打钩方框,那该怎么办啊。下面小编举例简单的例子告诉大家excel表格内勾选小方格的方法,希望能帮到大家。excel表…

JS中压缩的方法小结

JS中压缩的方法小结

方法,压缩,电脑软件,JS,首先想一想我们有哪些需求?大多时候我们需要将一个File对象压缩之后再变为File对象传入到远程图片服务器;有时候我们也需要将一个base64字符串压缩之后再变为base64字符串传入到远程数据库;有时候后它还有可能是一块can…

excel表格怎么设置和取消分页预览

excel表格怎么设置和取消分页预览

设置,取消,分页,方法,表格,  Excel中如何进行分页预览,如何操作呢?对于常用Excel功能的朋友小菜一碟,但是新手不会设置分页预览怎么办?下面给大家分享如何分页预览的设置和取消方法吧,希望能帮到大家。Excel2010分页预览的设置和取消的方法1…

photoshop cs6简单更换人物照片背

photoshop cs6简单更换人物照片背

照片,背景,效果,简单,人物,photoshop cs6简单更换人物照片背景效果的方法分享给大家,打开一张人物数码照片,选取人物主体,拖拽到另一张上,合并。是不是很简单,一起来学习吧。方法/步骤:1、启动软件,打开一张照片。2、左侧工具箱,选择&ldquo;魔棒工…

ps利用滤镜制作漂亮的云彩效果

ps利用滤镜制作漂亮的云彩效果

滤镜,云彩,效果,漂亮,电脑软件,云彩在现实中可以用相机拍摄得到,当然也可以用平面软件进行制作,下面小编就为大家介绍ps利用滤镜制作漂亮的云彩效果方法,来看看吧!步骤:1、首先我们找到桌面的ps的图标2、然后我们执行文件-新建的操作3、随便新建…

Sublime Text新建.vue模板并高亮 |

Sublime Text新建.vue模板并高亮 |

图文教程,模板,电脑软件,Text,Sublime,本文介绍了 Sublime Text新建.vue模板并高亮(图文教程),分享给大家,也给自己留个笔记。准备工作下载安装新建文件模板插件 SublimeTmpl 下载安装vue语法高亮插件 Vue Syntax HighlightSublime Text安装…

浅析正则表达式中的lastIndex以及

浅析正则表达式中的lastIndex以及

正则表达式,电脑软件,lastIndex,依次写出下列输出内容。var reg1 = /a/;var reg2 = /a/g;console.log(reg1.test('abcabc')); // trueconsole.log(reg1.test('abcabc')); // trueconsole.log(reg1.test('abcabc')); // trueconsole.l…