如何在Java中找出仿射变换矩形是否包含某个点?

时间:2010-07-27 02:38:09

标签: java coordinates mouseevent affinetransform

我正在尝试创建一个交互式GUI,但只要点击并拖动该矩形,我就需要移动某个对象。基本上我想知道一个经过仿射变换的矩形是否包含一个特定的点(x,y)。有没有办法做到这一点?我尝试使用contains()方法,但它不适用于已经仿射变换的矩形。我检查了Java教程,但用户交互式GUI不使用仿射变换。有人可以指向我一个教程,允许用户仿射转换某个形状,以及仅在单击+拖动形状时移动形状。如果没有,我该如何处理?

感谢。

1 个答案:

答案 0 :(得分:1)

example表示contains()在已转换的Shape上按预期工作。 example使用Polygon,但Rectangle也实施Shape

如果转换了图形上下文本身,则必须创建一个“以捕获对变换所做的更改”,如example所示。