Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我制作了一个网页,上面有一个画布,我们可以在上面随意绘制。现在我想知道有没有办法找到用户现在画了一个“正方形”、“圆形”或“矩形”?我的意思是,如果我在画布上画一个正方形,我该如何编写代码来检查我是否画了一个正方形?
与您合作的细节不多。
此外,“手绘”意味着非常不精确的形状。
因此,这是确定您的形状的通用答案:
确定手绘形状的边界框 (minX,maxX,minY,maxY)。
测试#1:如果 (maxX-minX) 与 (maxY-minY) 有很大不同,那么你有一个矩形。
测试#2:从一个拐角向中心走。如果你快速穿过绘图的一部分,你就有了一个正方形。
通过消除过程,如果 Test#1 和 Test#2 失败,那么你就有了一个圆圈。