思路是这样的,把绘制的每个区域抽象成单独的对象,每个对象中可以储存各自的信息(比如title, content, position等),每个对象中都包含各自的判断点是否在当前对象区域内的判断函数,这样就可以知道点到了哪个对象,也可以拿到对象内的数据, 触发相应的事件。
方法只有一个:
通过canvas的方式,在画布上画图
步骤:
1、定义一个canvas
2、获取canvas,然后通过画图
示例:canvas 元素来显示一个红色的矩形
<canvas id="myCanvas"></canvas>//定义一个canvas<script type="text/javascript">
var canvas=documentgetElementById('myCanvas');//获取canvas
var ctx=canvasgetContext('2d');
ctxfillStyle='#FF0000'; //图形填充色
ctxfillRect(0,0,80,100); //绘制一个红色矩形
</script>
整理了一些有关canvas的属性( ’ - ’ )
canvas画布
用于绘制图像,本身不具备绘制能力,需要通过脚本来完成绘画,通常这个脚本就是javascript
canvas的默认宽高为300150,不能通过css或行内样式修改它的宽高,它有自己的宽高属性
canvas是一个html元素,通过js来执行绘制
getContext()是用来获取canvas上下文渲染环境和绘画功能的方法,目前只有一个参数:'2d',代表返回一个2d的绘制环境,将来有可能3d,但是目前不支持
它可以做什么?
html5小游戏
绘制,图标,图表,曲线图等等,例如地图上的热力图等等
以及各种酷炫的动画效果都可以通过canvas来完成(可以了解一下WEBGL<>
canvas本身没有绘画能力,它的绘制工作必须在JavaScript的内部完成。
getContext():getContext("2d") 对象是内建的 HTML5 对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。所以获取绘图环境是通过调试canvas对象的getContext()方法。
1、能直接复制的直接复制就行
2、框选文字,拖动到QQ,word等编辑框中
3、通过F12打开检查界面,选择对应元素
如果F12打不开,请尝试右键检查
4、如果遇到文字是通过画布canvas()画出来的,可以在源代码中搜索相关文字,找到对应片段,复制下来,通过脚本提取出中文
如果没有python环境,其他编程语言也写这个脚本
var canvas = documentgetElementById("demoCanvas"); 获取canvas元素
ctx = canvasDomgetContext('2d'); 获取上下文
ctxmoveTo(0,0) 设置起始点
ctxlineTo(100,100) 设置终点
ctxlineWidth = 8; 线宽度
ctxstrokeStyle = "red" 设置颜色
ctxstroke() 显示
ctxfillStyle = "pink"; 填充色
ctxfill() 填充
ctxclosePath() 结束
ctxbeginPath(); 开启一个新状态绘图
ctxrect(x,y,w,h) 绘制一个矩形 //前两参数起始点坐标,后两参数宽高
ctxstrokerect(x,y,w,h) 直接显示矩形,不需要ctxstroke()
ctxfillrect() 被填充直接显示的矩形
ctxclearRect(x,y,w,h) 清除矩形 --重要
ctxarc(x,y,sAngle,eAngle,count) //绘制圆形 x坐标/y坐标/半径/绘制开始角度/绘制结束角度/逆时针绘制
ctxshadowColor="tael" 设置阴影的颜色
ctxshadowBlur=10 设置阴影模糊级别
ctxshadowOffsetX=10 设置阴影距离形状的水平距离
ctxshadowOffsetY=10 设置阴影距离形状的垂直距离
(少用,性能比较差,尽量让UI做)
var grd=ctxcreateLinearGradient(0,0,170,0) 创建一个线性渐变,参数,两个点坐标
grdaddColorStop(0,'pink') // 添加一个新的渐变色
grdaddColorStop(1,'pink') // 添加一个新的渐变色
ctxfillstyle = grd 把渐变设置到填充样式
ctxfillRect(0,0,300,300) 创建一个矩形
ctxtranslate(200,200) 把当前画布移动到坐标点
ctxrotate(30MathPI/180) 旋转画布,参数为度数
ctxscale(2,2) 画布缩小或放大,参数倍数
ctxglobalAlpha=03 设置画布透明度
ctxsave() 把当前上下文状态保存起来
ctxrestore() 把之前保存画布的状态还原
ctxtoDataURL('img',1) 画布保存为base64编码
ctxdrawImage(canvas1,10,10) 把一个画布放到另一个画布上,可以让canvas优化
ctxarcTo(240,100,240,110,40) //做圆角用 端点1坐标,端点2坐标,半径
Konva库的使用
canvaswidth获取的是写在标签属性中的宽度值,eg :<canvas width="800" height="600"></canvas>
这时我们获取的canvas的宽度值是800px;但是如果canvas标签没有设置宽高属性,而是写在css样式表,或者style标签中,canvaswidth获取的是canvas的默认宽(canvas默认宽是300px,默认高是150px)
以上就是关于pc端 如何获取canvas文本中心点坐标全部的内容,包括:pc端 如何获取canvas文本中心点坐标、Javascript如何在网页上实现画图功能、canvas属性方法整理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)