2013-09-23 2 views
0

svg 캔버스의 정확도로 변환 할 수있는 간단한 경로 정의 (예제)가 있습니다.사용자 정의 좌표계를 가진 SVG Translate Path 객체

M 30.872704,198.53891 C -143.04429,-148.7562 503.71813,57.927231 257.70273,102.67753 

= 변환을 사용하여 내가 SVG 문서 (왼쪽 상단)의 기원으로 설정되는 경로의 원점 (왼쪽 상단)을하고 싶은에 "(0,0) 번역" 경로 개체입니다. 기본적으로 나는 좌상 구석에 경로를 설정하여 svg 문서와 관련하여 추가 번역을 적용 할 수 있습니다.

가능한 경우 자바 스크립트를 사용하지 않는 것이 좋습니다.

php를 사용하여 Inkscape를 실행하고 --query-all 명령 줄 옵션을 사용하여 경로의 경계 상자를 반환 할 수 있습니다. 그런 다음 경로에서 문서 원본까지의 거리를 계산하고 다시 설정할 수 있습니다.

더 좋은 방법이 있나요?

미리 감사드립니다.

답변

0

베 지어 곡선은 끝점과 제어점으로 형성된 사변형 외부로 확장되지 않습니다. 직선에 대해서도 마찬가지입니다. 따라서 모든 점을 파싱하고 X와 Y 좌표의 최소값과 최대 값을 추적하는 것만으로 경로 바운딩 박스에 대한 훌륭한 근사를 얻을 수 있습니다.

결과 경계 상자는 경로의 실제 테두리 상자보다 약간 큰 경우가 있지만 필요에 따라 충분히 근접 할 수 있습니다.

작은 PHP 스크립트로 경로를 구문 분석하는 것이 아마도 Inkscape를 호출하는 것보다 쉽고 빠를 것입니다.

관련 문제