2010-07-03 7 views
9

Raphael을 사용하여 포함 된 SVG 이미지를 조작 할 수 있습니까? 이전에 Raphael을 사용하여 모양을 그리지 만 기존 SVG 이미지를 조작하는 데 실제로 사용되지는 않았습니다. 그렇지 않다면 임베디드 SVG 이미지의 폴리곤에 색상을 쉽게 변경하고 이벤트 등을 추가 할 수있는 다른 것이 있습니까?Raphael을 사용하여 SVG 조작

답변

0

웃기는 어제 나는 glitchsvgicons 페이지를 발견했습니다.
매우 원시적 인 방법이지만, 정규 표현식을 사용하여 부품을 교체합니다.
힌트 일 수 있습니다 : 분명히 SVG 아이콘에서 텍스트 부분의 오래된 검색/대체를 사용할 수 있습니다. 하지만 실제 돔 트리를 사용하는 것보다 문제가 발생하기 쉽습니다 ...

+0

답장이 없으므로 Raphael을 사용할 가능성이 없다고 생각합니다. DOM 트리를 조작하기 위해 jquery를 사용한다고 생각합니다. – Max

4

Raphael.js 소스를 읽은 경험으로 이전 게시물에 동의해야합니다. SVG를 대체하거나 수정하는 유일한 방법은 마크 업/DOM 자체를 바꾸거나 수정하는 것입니다.

내 대답에 모두 추가하려면 에 대한 간략한 일반 설명은입니다. Raphael은 SVG/VML 생성자으로 설계되었습니다. 즉, Raphael은 JavaScript 객체를 만들고 해당 SVG/VML 마크 업을 DOM에 추가합니다. 객체에는 Raphael 프레임 워크 내에서 작동하도록하는 추가 속성이 많이 있습니다.

SVG 요소 주위에 Raphael 객체를 생성 할 수있는 플러그인을 작성할 수는 있지만 그 객체는 다른 Raphael 객체와 공존하는 데 필요한 모든 정보를 가지고 있지 않을 수도 있습니다. . 물론 그러한 파싱/재구성 기능은 현재 존재하지 않습니다.

+0

'닌자'모드에 관한 Raphael 문서는 귀하의 의견을 뒷받침합니다. Raphael 'ninja'모드는 전역 Raphael 객체를 제거하지만 문서에서는 'ninja'모드를 사용하면 Raphael 전역 obj [link] (http://raphaeljs.com/reference.html)에 액세스 할 때 플러그인이 작동하지 않을 수 있음을 나타냅니다 # Raphael.ninja) –

+0

닌자 모드는 내 대답과 아무런 관련이 없습니다. 나는 세계적인 Raphael 객체를 언급하는 것이 아니라 Raphael에 의해 만들어진 SVG 요소에 해당하는 개별 객체를 언급합니다. – myw01