2011-05-03 6 views
2

SVG에서 경로의 채우기로 사용할 수있는 패턴을 정의 할 수 있습니다. 예를 들어,이 링크 (SVG pattern example)를 확인할 수 있습니다. 불행히도 이전 버전의 Internet Explorer에서는 SVG를 사용할 수 없으므로 VML을 사용해야합니다.SVG 패턴 대신 VML (Raphael JS 사용 가능)

내 인생을 좀 더 쉽게 만들기 위해 Rapha ë l JS를 사용합니다 (구체적으로 Rapha ë l을 기반으로하는 ExtJS 4.0의 그리기 패키지를 사용하므로 걱정할 필요가 없습니다). SVG와 VML의 차이점에 대해

그러나 Raphael JS는 패턴을 정의하고 사용하는 방법을 제공하지 않으므로 직접 작성해야합니다. SVG에서 이것은별로 문제가되지 않지만 VML에서는 패턴을 만들고 경로의 배경으로 사용하는 방법을 찾을 수 없습니다.

내가 찾은 가장 가까운 것은 here on MSDN과 같이 경로의 배경으로 이미지를 사용하는 기능입니다. 문제는 반복되는 벡터 이미지로 경로를 채우고 싶기 때문에 크기를 조정할 수 있고 여전히 멋지게 보입니다.

이 문제를 해결하기 위해 올바른 방향으로 나를 가리켜 주시면 도움이 될 것입니다.

편집 : 내 게시물을 방문하는 사람 : 위에서 설명한 내용은 불가능하다는 결론에 도달했습니다. VML에서 가능한 유일한 패터닝은 fill element을 사용하여 이미지 타일링입니다. VML에서는 벡터 모양으로 만들어진 패턴을 사용할 수 없습니다.

+0

VML 모양 안에 SVG 이미지를 사용하고 싶습니까? – brianpeiris

+0

아니, 그게 무슨 뜻인지, 나는 그것에 대해 불명 한 것을 유감스럽게 생각합니다. SVG 셰이프 (패턴으로 정의 됨)를 SVG 셰이프의 채우기로 사용할 수있는 것처럼 VML 셰이프의 배경으로 VML 셰이프의 패턴을 사용하고 싶습니다. – standardModel

답변

0

나는이 방법을 사용하고 있습니다 :

1은 채우려는 경로의 경로 요소 (RECT되지 않음)와 경계 상자를 만듭니다. 2 경계 상자 경로 문자열에 채울 경로의 "z"와 경로 문자열을 추가하십시오. 그러면 클리핑 된 직사각형이 생성됩니다. 3 클리핑 된 직사각형 뒤에 패턴을 반복하려면 javascript를 사용하십시오.

관련 문제