2014-10-19 3 views
-1

지정된 반경에서 방사되는 텍스트를 쓰려고합니다.html5 캔버스가있는 방사형 텍스트

즉, 원형 패턴으로 텍스트를 쓰려고하는데, 정의 된 내부 반경에서 방사형으로 방사합니다.

편집 :이 예제의 행 사이의 텍스트 작성하려고 해요 : http://mandelid.com/code/wheel/

+0

까다로운 소리. 질문 있습니까? – JJJ

+0

질문은 : 누구든지 나를 도울 수 있습니까? :) http://mandelid.com/code/wheel의 예제는 실제 캔버스입니다. – Thomas

답변

1

사용 현명 문맥 변환을 당신이 완료됩니다.

단계 :
• 원 중심으로 변환하십시오.
• 각도로 컨텍스트 회전
• 텍스트의 시작 부분까지 수평 이동
• 텍스트를 그립니다.

var cv = document.getElementById('cv'); 
 
var ctx = cv.getContext('2d'); 
 

 
function drawText(txt, x, y, angle, radius) { 
 
    ctx.textAlign = 'left'; 
 
    ctx.textBaseline = 'middle'; 
 
    ctx.save(); 
 
    ctx.translate(x, y) 
 
    ctx.rotate(angle); 
 
    ctx.translate(radius, 0); 
 
    ctx.fillText(txt, 0, 0); 
 
    ctx.restore(); 
 
} 
 

 
drawText('Hello Folks', 100, 100, -Math.PI/4, 20); 
 

 
drawText('How are you ?', 100, 100, Math.PI/4, 20);
<canvas width=300 height=200 id='cv'></canvas>

+1

+1 질문자가 필요로하는 간결한 답변이 필요합니다. 각도 PI/2에서 PI * 3/2까지의 텍스트를 거꾸로가 아니라 오른쪽에서 위로하여 시각적으로 개선 할 수 있습니다. – markE