2017-01-23 5 views
0

캔버스에 회전을 적용하여 텍스트를 가져 왔습니다. 이제 텍스트를 가로 방향으로 이동하려고하지만 십자형으로 이동합니다. 회전 들어 아래처럼 뭔가를했습니다.캔버스의 텍스트를 수평으로 직선으로 이동하는 방법은 무엇입니까?

canvas.save(); 
canvas.rotate(-45,150,150); 
canvas.drawText("Some Text", xAxis, 55, paint); 
canvas.restore(); 

회전이 전체 캔버스에 적용되어 있기 때문에 움직이지 않습니다. 이제이 텍스트를 수평으로 직선으로 이동 시키십시오.

어떨까요? 나는 그것이 줄을 빨간색처럼 움직이는 xAxis의 가치를 높일 경우

위의 코드의 출력은 오른쪽하지이

output of above code

같다. 그림에서 선이 녹색처럼 움직 이길 원합니다.

+0

'rotate()'전에 번역하기 – pskink

+0

@pskink 어떻게 제안 할 수 있습니까? 실제로 당신을 얻지 못했습니다 –

+0

'translate' 및'rotate' 메소드에 대한'Canvas' 문서를보십시오 – pskink

답변

0

코드에서 전체 Canvas을 회전했습니다. 화면을 45도 회전시키고 마우스를 수평으로 움직이면 그 회전으로 움직입니다. 텍스트를 회전시키는 또 다른 방법이 필요합니다. 회전 각도에 따라 이동 지점을 계산하는 데 필요합니다 (점 주위의 회전 지점).

+0

나는 텍스트가 45도 움직이는 이유를 안다. 그 해결책을 제안 해 주시겠습니까? –

+0

비트 맵과 캔버스 (두 번째 캔버스)를 만들고, 두 번째 캔버스에 그립니다 (비트 맵에서 그립니다). 그리고 나서'first_canvas.drawBitmap()'. 이렇게하면 원하는 곳에 비트 맵을 배치 할 수 있습니다. – Ekalips