html5在图片中加链接,JavaScript、html5、canvas实现图片上画超链接
本文主要为大家详细介绍了JavaScript html5 canvas实现图片上画超链接,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。
1. html
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();
}
相关推荐:
html5在图片中加链接,JavaScript、html5、canvas实现图片上画超链接相关推荐
- JS/Canvas在图片上画点画线不规则图形,并获取图片上的坐标
直接先上效果 操作说明:点 [添加区域] 鼠标进行画-- 右键结束画 点[清楚画图]画布初始化,再点[添加区域]画,反复反复,,,, 代码 <!DOCTYPE html> <html ...
- 使用canvas在图片上画圆圈,并可点击圆圈在圆圈下方画垂直线(适配移动端)
一.UI 二.实现 <div class="carBrightSpot"><!-- 轮播图 --><div class="block-swi ...
- html5时间画布走动,javascript+HTML5 canvas绘制时钟功能示例
本文实例讲述了javascript+HTML5 canvas绘制时钟功能.分享给大家供大家参考,具体如下: 效果如下: 代码: www.jb51.net canvas绘制时钟 div{text-ali ...
- JavaScript 使用canvas压缩图片
压缩思路 JS 的图片压缩,一般是需要用到 Canvas 的绘图能力,通过调整图片的分辨率或者绘图质量来达到图片压缩的效果. 实现过程 (1)获取上传 Input 中的图片对象 File: (2)将图 ...
- java canvas添加图片上传_HTML5 canvas画图及图片上传服务器
上一个教程中我们实现了使用html5 canvas来制作涂鸦画板的效果,在这个教程中,我们将讲解如何将画好的图片上传到服务器上. 最后的效果如下图,当点击"开始画图"按钮,将在ca ...
- canvas在图片上绘制标记,可拖拽、缩放,基于ZRender
如下图所示,在图片上做标记,如圆形.矩形等. 该demo实现画布在页面布局中缩放后居中显示,可拖拽.缩放.做标记说明. 项目下载地址:https://gitlab.com/zhangcw66/draw ...
- canvas在图片上绘制图形
说明 在vue项目中,后台返回图片的url和矩形的顶点坐标(左上和右下),需要在图片上绘制矩形框,并在前端进行展示(一张张的播放图片). 其中返回的数据是多张图片的集合,前端也需要整合一个绘制后的图片 ...
- html5+datatime加减,javascript实现日期按月份加减
项目中需要用到,自己写了一个.javascript日期按月加减 function dateToDate(date) { var sDate = new Date(); if (typeof date ...
- html5 页面加载缓慢,html5体验优化页面加载的14条建议
html5体验优化页面加载的14条建议 1. fake 页 - 首屏加速 目标:首屏 3s 以内 因为 71% 的用户期望移动页面跟 pc 页面一样快 (3s) ,74% 的用户能容忍的响应时间为 5 ...
最新文章
- 201621123028《Java程序设计》第一周学习总结
- Web服务(Apache、Nginx、Tomcat、Jetty)与应用(LAMP、CMS-WordPressGhost、Jenkins、Gitlab)
- php 数组降维,php 数组去重的方法参考(一维数组去重、二维数组去重)
- javax.servlet.http.HttpServletRequest接口(HTTP版本)
- ubuntu18安装vnpyv1.9.2之二
- 无锡php公司,start.php
- The Things Network LoRaWAN Stack V3 学习笔记 2.6 新增一个 CN470 子频段
- CZMDUI,简约而不简单的typecho模板
- 论文解读:MOEA/D with Adaptive Weight Adjustment
- Java-数据结构-TreeMap
- .Net Core开发学习(一) ——Startup 类
- 图像可视化——matplotlib绘图入门基础
- 司普沃浅谈豆角种植技术与管理方案
- 新浪微博、腾讯微博、QQ空间、人人网、豆瓣 一键分享API代码参数
- HTML中常见的选择器 的优先级
- 数据库中超码、候选码、主码的理解
- 32位程序在64位系统上运行
- ffmpeg利用滤镜合并四个视频,左一右三
- 【源码】基于lévy飞行的随机蛙跳算法及其在连续优化问题中的应用
- pjsip java_pjsip_java
热门文章
- Android动画学习
- ​​【​观察】解读京东3C品牌升级背后 零售基础设施输出赋能更多行业
- 计算机游戏制作课程标准,1.(游戏界面(UI)设计)课程标准-20210528001623.pdf-原创力文档...
- jQuery MiniUI 开发教程 导航控件 ContextMenu:右键菜单(四)
- 本想“靠脸吃饭”,却陷入“美容贷”套路!
- python_ 标识符
- BUUCTF 刷题 铁人三项(第五赛区)_2018_rop
- webx URIBrokerService 总结
- 谈话的力量笔记~~~
- 算法导论——(1)加权中位数的实现