2017-11-23 13 views
0

나는 육각 그리드를 포함하는 프로그램을 만드는거야, 그리고 내가하고 변환을 위해 아래의 코드를 사용하여 좌표하기 : 는 원래 변환하기 전에

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

내 마우스를 클릭

프로그램이 있는지 확인하도록되어 육각형은 그 안에 포인트를 포함하지만 변형을 적용한 후에는 작동하지 않습니다. 변환을 적용하기 전에 마우스 위치를 얻을 수 있도록 변환을 되돌릴 방법을 아는 사람이 있습니까? 몇 가지 수식을 시도했지만 아무도 작동하지 않는 것 같습니다.

답변

0

g2d.getTransform()을 호출하여 현재 변환 행렬을 가져온 다음 inverseTransform() 메서드를 사용하여 캔버스의 픽셀 좌표에서 현재 좌표계의 논리 좌표로 점을 변환 할 수 있습니다.

+0

작동합니다! 감사. –