【发布时间】:2013-06-24 13:53:13
【问题描述】:
我学习 Html5 Canvas 已经有几个星期了,但是上面的问题困扰了我很长时间。
不规则的形状,可能是圆形、矩形、椭圆、多边形,或者由一些直线和贝塞尔曲线构成的路径...
我为某些形状找到了一些算法,例如圆形、矩形和多边形,但是,如果我在画布中使用它们,那么对于许多形状来说,它会非常复杂。
我还查看了一些画布库,例如 Kinetic.js、paper.js、fabric.js 等,它们都做得很好,但是它们的代码太多了,在这里混合在一起,所以我可以不明白重点...
但我发现,他们都没有使用“isPointInPath”方法来完成这项工作。为什么?如果用这个,我也可以做这个工作!
kinetic.js ,我知道他用 getImageData 来确定,但奇怪的是,它得到的图像数据没有 alpha(alpha 始终为 255),但它绘制的形状是半透明的,哦不,我的大脑已经想不通了。
所以我在这里想知道如何确定一个点在画布中是不规则形状(可能是半透明的),即使是一种思考方式也可以帮助我。
而且,'isPointInPath' 方法有问题吗?所以没人用吗?
【问题讨论】:
-
这里正在讨论点内多边形问题:math.stackexchange.com/questions/237/…
-
另外,这个问题一般被称为Point location。
标签: javascript html canvas