2012-07-24 3 views
1

SVG에서 경로를 확장하려고합니다. 그렇게하기 위해 저는 자바 스크립트 라이브러리 Raphaël을 사용하고 있습니다. 스케일링 자체는 훌륭하게 작동하지만 센터에서 스케일링을하고 다른 포인트에서 스케일을 조정하려고합니다 (경로의 숫자는 원 - 섹터이며 "원의 중심"에서 크기를 조정하려고합니다). .자바 스크립트 라파엘 경로 너비

경로의 높이와 너비를 가져 오는 방법이 있습니까? 그렇다면 원의 중심을 계산할 수 있습니다. 아니면 그 점을 찾는 다른 방법이 있습니까?

경로 :

VAR 경로 = "M"+ center.x + ""+ center.y;

경로 + = "L"+ (center.x + startX) + ""+ (center.y + startY);

path + = "A"+ Math.floor (dist) + ""+ Math.floor (dist) + "0"+ (this.endAngle-this.startAngle> Math.PI? "1 1" "0 1") + (center.x + endX) + ""+ (center.y + endY);

path + = "L"+ center.x + ""+ center.y; 경로 + = "z";

this.shape = paper.path (path);

답변

1
당신은 .getBBox()와 요소의 높이와 폭을 얻을 수 있습니다

: http://raphaeljs.com/reference.html#Element.getBBox

가 어떻게 경로를 확장됩니다? .scale()은 스케일링의 중심에 대한 선택적 좌표를 취할 수 있습니다.http://raphaeljs.com/reference.html#Element.scale

+0

.scale()을 사용하고 있었지만 선택적 좌표가 필요했으며 경로와 관련이 있어야했습니다. 분명히 SVG- 캔버스에서 절대 좌표를 사용할 수 있습니다. –

관련 문제