canvas怎么根据坐标获取上面的内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了canvas怎么根据坐标获取上面的内容相关的知识,希望对你有一定的参考价值。

就是我用canvas 在页面上绘制了一些文字, 那我该怎么根据绘制的坐标来获取上面的文字呢这个圆盘上面的字是利用canvas 绘制上去的,然后我想获取指针所在的位置上的文字,应该怎么办,哪位大虾可以帮帮忙~

思路是这样的,把绘制的每个区域抽象成单独的对象,每个对象中可以储存各自的信息(比如title, content, position等),每个对象中都包含各自的判断点是否在当前对象区域内的判断函数,这样就可以知道点到了哪个对象,也可以拿到对象内的数据, 触发相应的事件。
这样说可能不太直观,你可以看一下我封装好的一个库。
https://github.com/PengJiyuan...
用这个库做的一个图表
https://github.com/PengJiyuan...
参考技术A 抽象成对象确实是比较简单比容容易实现的方法。每个区域对应一个对象,有相应的坐标范围和文字内容。获取指针所在的点,判断是在那个对象的范围之内,然后得到该对象文字内容即可。

html5中怎么根据内容高低来调整画布大小

参考技术A 可以用JS监控屏幕大小,然后调整Canvas的大小。在代码中加入JS

$(window).resize(resizeCanvas);
function resizeCanvas()
canvas.attr("width", $(window).get(0).innerWidth);
canvas.attr("height", $(window).get(0).innerHeight);
context.fillRect(0, 0, canvas.width(), canvas.height());
;
resizeCanvas();

就可以了。

<canvas> 标签只是图形容器,您必须使用脚本来绘制图形。
参考技术B css height: auto;

以上是关于canvas怎么根据坐标获取上面的内容的主要内容,如果未能解决你的问题,请参考以下文章

android怎么移动canvas

html5中怎么根据内容高低来调整画布大小

对于canvas画图时,改变其中一条线的颜色,该怎么解决

如何将Canvas 上的内容转换为一张Bitmap-Android开发问答

selenium 怎么获取canvas图像中的某个动态元素

delphi canvas如何根据中心点坐标 和矩形的宽度 动态的画出矩形?