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("红色打电话斜体删除线绿色下划线图片:." ...
随机推荐
- [springMvc] 源码分析笔记(一)
1. Servlet 结构图 2. servlet接口 public interface Servlet { //init方法在容器启动时被容器调用(当load-on-startup设置为负数或者不设 ...
- Windows10 下安装 Apache2.4+PHP7.1+MySQL5.7
这个教程主要是分享如何快速组建WAMP开发环境,对于软件的详细配置,自行参考文档或搜索. Visual C++ Redistributable for Visual Studio 2015 下载地址: ...
- RS485转USB插电脑上通讯不上
在确定没有其他问题时,基本可以确定是干扰问题,换个24V电源试试,不要用原来的线 485接口确定,好坏通过两个相反对接,发送信息,两边一致,就可以
- spyder中让生成的图像单独在窗口中显示
IPython 支持两种形式的绘图 终端输出图像新窗口输出图像方式 1 能够非常方便的保存输出记录(如将`IPython 终端输出转换成 Html 文件) 方式 2 则可以交互式的放大.拖动图片,并且 ...
- PHP语言学习之php-fpm 三种运行模式
本文主要向大家介绍了PHP语言学习之php-fpm 三种运行模式,通过具体的内容向大家展示,希望对大家学习php语言有所帮助. php-fpm配置 配置文件:php-fpm.conf 开启慢日志功能的 ...
- vue 的全局组件和 局部组件
vue组件局部与全局注册的区别 //局部注册 var mycomponent = new extend({ <!--Vue.extend()是Vue构造器的扩展,调用Vue.e ...
- centos 日志文件
以下介绍的是20个位于/var/log/ 目录之下的日志文件.其中一些只有特定版本采用,如dpkg.log只能在基于Debian的系统中看到./var/log/messages — 包括整体系统信息, ...
- python 模块 不可不知的知识点
大纲可参考博客:http://www.cnblogs.com/yuanchenqi/articles/6766020.html 1.正则表达式中(re模块),. 代表除换行符以外的任意符号,但如果加上 ...
- js 数据处理
开发过程中经常遇到 1. json数据结构(对象和数组) json对象:var obj = {"name":"xiao","age":12} ...
- flask 第三章 特殊装饰器 CBV Flask-Session WTForms
1.flask中的特殊装饰器 前面我们讲过的装饰器函数中,用来登录验证,这次我们来介绍几个flask中的特殊装饰器 1). @app.before_request 具体的用途是: 在请求进入视图函数之 ...