canvas 添加线和删除线 及获取相关位置信息源码
其他相关链接:
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 添加线和删除线 及获取相关位置信息源码的更多相关文章
- CSS标题线(删除线贯穿线效果)实现之一二
缘起 其实看到这个问题,心里已经默默把代码已经码好了~,不就想下面这样嘛:JSBIN代码示例 嗯,是的,我们日常确实基本上就是用的这种方式,也没啥问题呀~,来个背景色定下位就欧拉欧拉的了. 不过,因为 ...
- 页面中插入flash,并且给flash添加单击事件控制播放,以及获取相关参数.
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100%" hei ...
- android EditText获取光标位置并安插字符删除字符
android EditText获取光标位置并插入字符删除字符1.获取光标位置int index = editText.getSelectionStart(); 2.在光标处插入字符int index ...
- Android中TextView添加删除线
项目中的需求~~~~ 商城中物品的一个本身价格,还有一个就是优惠价格...需要用到一个删除线. public class TestActivity extends Activity { private ...
- iOS 为label添加删除线
UILabel *testLabel = [[ UILabel alloc] initWithFrame:CGRectMake(, , , )]; testLabel.numberOfLines = ...
- iOS-属性字符串添加下划线、删除线
常用到的属性字符串 ///定义属性字符串NSMutableAttributedString *att = [[NSMutableAttributedString alloc]initWithStrin ...
- ios Lable 添加删除线
遇到坑了: NSString *goodsPrice = @"230.39"; NSString *marketPrice = @"299.99"; NSStr ...
- python 对过时类或方法添加删除线的方法
class Cat(Animal): def __init__(self): import warnings warnings.warn("Cat类带删除线了", Deprecat ...
- 【转】Android TextView SpannableStringBuilder 图文混排颜色斜体粗体下划线删除线
spannableStringBuilder 用法详解: SpannableString ss = new SpannableString("红色打电话斜体删除线绿色下划线图片:." ...
随机推荐
- Django的认证系统和Django admin的简单使用
Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Djang ...
- sql server中如何修改视图中的数据?
sql server中如何修改视图中的数据? 我做个测试,视图的数据有标记字段时,如果是这种方式(0 as FlagState),是无法修改的 --创建视图语句 --- create view V_E ...
- Java加密算法
密码的常用术语: 1.密码体制:由明文空间.密文空间.密钥空间.加密算法和解密算法5部分组成. 2.密码协议:也称为安全协议,是指以密码学为基础的消息交换的通信协议,目的是在网络环境中提供安全的服务. ...
- element 树形菜单加title
<script src="//unpkg.com/vue/dist/vue.js"></script><script src="//unpk ...
- easyui 面板title 加东西
- python(列表2)
1.remove(删除指定值的元素) x = ['to','be','or','not','to','be'] x.remove('be') x ['to','or','not','to','be'] ...
- 怎么在多场景下使用不同的 git 账号 commit
应用场景 我有多个github的账号,不同的账号对应不同的repo,需要push的时候自动区分账号 我有多个git的账号,有的是github的,有的是单位的gitlab的,不同账号对应不同的repo, ...
- 拯救者R720安装Ubuntu之后无法连接无线网络
安装Ubuntu后无法连接到无线网络 Ubuntu默认关闭了硬件wifi开关,拯救者R720只有软件开关,所以引起了wifi不可用的问题 使用rfkill list all 命令:0:ideapad_ ...
- 【转载】27.SpringBoot和SpringMVC的区别
版权声明:本博客为记录本人JAVA自学之路而开,内容大多从网上学习与整理所得,若侵权请告知! https://blog.csdn.net/u014590757/article/details/7960 ...
- ubuntu14/16 安装python3-opencv3_百度经验
http://jingyan.baidu.com/article/e4511cf348dac52b845eafc8.html