pc端 如何获取canvas文本中心点坐标

pc端 如何获取canvas文本中心点坐标,第1张

思路是这样的,把绘制的每个区域抽象成单独的对象,每个对象中可以储存各自的信息(比如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属性方法整理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9293662.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存