转换前获取原始坐标

时间:2017-11-23 14:37:41

标签: java graphics2d

我正在创建一个涉及六边形网格的程序,我使用下面的代码进行转换:

    g2d.translate((double) WIDTH / 2, (double) HEIGHT / 2);
    g2d.scale(scale, scale);
    g2d.translate(-(double) WIDTH / 2, -(double) HEIGHT / 2);
    g2d.translate(translationX, translationY);

当我点击鼠标时,程序应检查六边形是否包含其中的点,但在应用转换后它不起作用。有谁知道如何恢复转换,以便我可以在应用转换之前获得鼠标的位置?我尝试了一些公式,但似乎都没有。

1 个答案:

答案 0 :(得分:0)

您可以调用g2d.getTransform()获取当前转换矩阵,然后使用其inverseTransform()方法将画布上的像素坐标转换为当前坐标系中的逻辑坐标。