我做了一个网页,上面有一个 Canvas ,我们可以在上面徒手画画。现在我想知道是否有办法发现用户现在画了一个“正方形”、“圆形”或“矩形”?我的意思是,如果我在 Canvas 上画一个正方形,我该如何编写代码来检查我是否画了一个正方形?
最佳答案
与您合作的细节不多。
此外,“徒手”意味着非常不精确的形状。
所以这里有一个通用的答案来确定你的形状:
确定手绘形状的边界框(minX,maxX,minY,maxY)。
测试 #1:如果 (maxX-minX) 与 (maxY-minY) 有很大不同,那么您就有了一个矩形。
测试#2:将其中一个拐角朝中心走。如果快速划过绘图的一部分,就会得到一个正方形。
通过排除法,如果 Test#1 和 Test#2 都失败了,那么你就有了一个圆圈。
关于html5 - 如何检查在 Canvas 上绘制的形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17352903/