其他相关链接:

 https://github.com/lusase/lineDrawer.git

https://www.jb51.net/css/359062.html
https://www.jb51.net/css/359062.html
markCanvasHandler(color, data) { 
let canvas = document.getElementById("canvas_zhumianban");    
if(canvas) {
let cxt = canvas.getContext("2d");;   
// 设置宽高
canvas.width = this.winWidth
canvas.height = this.winHeight
cxt.strokeStyle = "" + color + "";      
cxt.lineWidth = 2;  
cxt.beginPath();
console.log(cxt)
data.forEach((item) => {
item.dots.forEach((dot, idx) => {
let left = parseInt(dot[0] * 100);
let top = parseInt(dot[1] * 100);
if(idx === 0) {
console.log('if', idx, left, top)
cxt.moveTo(left, top);
} else {
console.log('else', idx, left, top)
cxt.lineTo(left, top);
cxt.fill();
cxt.stroke(); } })
})
}

  

formateMark(x, y) {
let obj = {}
let left = parseInt(x / this.winWidth * 100) + '%'
let top = parseInt(y / this.winHeight * 100) + '%' return obj = {
left: left,
top: top
}
},

  

// 添加标记
addMark(e) {
let left = parseInt(e.clientX / this.winWidth * 100) + '%'
let top = parseInt(e.clientY / this.winHeight * 100) + '%' let obj = {
left: left,
top: top
}
this.arr.push(obj)
},
 let canvas = document.getElementById("canvas_zhumianban");
let cxt = canvas.getContext("2d");
cxt.beginPath(); canvas.onmousedown = function(ev) {
var ev = ev || window.event;
cxt.moveTo(ev.clientX - canvas.offsetLeft, ev.clientY - canvas.offsetTop);
document.onmousemove = function(ev) {
var ev = ev || window.event;
cxt.lineTo(ev.clientX - canvas.offsetLeft, ev.clientY - canvas.offsetTop);
cxt.stroke();
};
document.onmouseup = function() {
document.onmousemove = null;
document.onmouseup = null;
}; }

  

canvas 添加线和删除线 及获取相关位置信息源码的更多相关文章

  1. CSS标题线(删除线贯穿线效果)实现之一二

    缘起 其实看到这个问题,心里已经默默把代码已经码好了~,不就想下面这样嘛:JSBIN代码示例 嗯,是的,我们日常确实基本上就是用的这种方式,也没啥问题呀~,来个背景色定下位就欧拉欧拉的了. 不过,因为 ...

  2. 页面中插入flash,并且给flash添加单击事件控制播放,以及获取相关参数.

    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100%" hei ...

  3. android EditText获取光标位置并安插字符删除字符

    android EditText获取光标位置并插入字符删除字符1.获取光标位置int index = editText.getSelectionStart(); 2.在光标处插入字符int index ...

  4. Android中TextView添加删除线

    项目中的需求~~~~ 商城中物品的一个本身价格,还有一个就是优惠价格...需要用到一个删除线. public class TestActivity extends Activity { private ...

  5. iOS 为label添加删除线

    UILabel *testLabel = [[ UILabel alloc] initWithFrame:CGRectMake(, , , )]; testLabel.numberOfLines = ...

  6. iOS-属性字符串添加下划线、删除线

    常用到的属性字符串 ///定义属性字符串NSMutableAttributedString *att = [[NSMutableAttributedString alloc]initWithStrin ...

  7. ios Lable 添加删除线

    遇到坑了: NSString *goodsPrice = @"230.39"; NSString *marketPrice = @"299.99"; NSStr ...

  8. python 对过时类或方法添加删除线的方法

    class Cat(Animal): def __init__(self): import warnings warnings.warn("Cat类带删除线了", Deprecat ...

  9. 【转】Android TextView SpannableStringBuilder 图文混排颜色斜体粗体下划线删除线

    spannableStringBuilder 用法详解: SpannableString ss = new SpannableString("红色打电话斜体删除线绿色下划线图片:." ...

随机推荐

  1. Java使用Redis--jedis

    参考:菜鸟教程 http://www.runoob.com/redis/redis-java.html 1.Java 使用 Redis 开始在 Java 中使用 Redis 前, 我们需要确保已经安装 ...

  2. Oracle使用

    Oracle数据库首先必须在服务器端安装,安装完成后在DBCA中创建数据库,然后在Net Configuration Assistant中配置监听程序和本地Net服务名.然后安装本地Oracle客户端 ...

  3. SqlServer 查看最近执行过的语句

    查看系统中最近执行的语句 ST.text AS '执行的SQL语句', QS.execution_count AS '执行次数', QS.total_elapsed_time AS '耗时', QS. ...

  4. Vue 给axios做个靠谱的封装(报错,鉴权,跳转,拦截,提示)

    需求及实现 统一捕获接口报错 弹窗提示 报错重定向 基础鉴权 表单序列化 用法及封装 用法 // 服务层 , import默认会找该目录下index.js的文件,这个可能有小伙伴不知道可以去了解npm ...

  5. vscode 中 eslint 相关配置

    1.设置vue等文件有eslint提示 "eslint.validate": [ "javascript", "javascriptreact&quo ...

  6. transform,transtion属性

    transform:变化类型,transtion变化方式

  7. 9ci

  8. 【tomcat环境搭建】Linux和Windows下tomcat开机自启动设置

    目前很多项目都部署在tomcat上,频繁操作中,每次启动或关闭tomcat都稍显麻烦,那如何设置tomcat的开机自启动? Linux下tomcat的开机自启动设置 网上主要有两种方式,一种是shel ...

  9. react-redux-reducer

    reducer是对dispatch(action)的响应,是一个纯函数,接受旧的state和action,返回新的state. //纯函数要注意的点,下面的例子myname不变 <script& ...

  10. python 统计单词个数,并按个数与字母排序

    # coding: utf-8 # In[1]: import collections str = "Be slow to promise and quick to perform" ...