사용시 패턴의 색상을 변경하고 싶습니다.SVG 패턴의 색상을 변경하는 방법은 무엇입니까?
예를 들어, 빨간색 선이 녹색 인 원을 그리게됩니다.
<svg width="300" height="300" viewBox="0 0 300 300"
xmlns="http://www.w3.org/2000/svg">
<defs>
<pattern id="checked" width="2" height="2" stroke="black" stroke-linecap="square" stroke-width="1" patternTransform="rotate(45) scale(2)"
patternUnits="userSpaceOnUse">
<line x1="0" y1="0" x2="0" y2="2"></line>
<line x1="0" y1="0" x2="2" y2="0"></line>
</pattern>
</defs>
<circle cx="60" cy="60" r="50" stroke="red" fill="url(#checked)"/>
<circle cx="120" cy="60" r="50" stroke="blue" fill="url(#checked)"/>
</svg>
http://codepen.io/anon/pen/RVNmRY
도 모든 색상의 새로운 패턴을 만들 필요없이 그렇게 할 수 있습니까?
나는 필터 (https://stackoverflow.com/a/21427316/1981832)를 사용하여 가능할 수도 있다는 의견을 읽었습니다. 하지만 어떻게해야할지 모르겠다.
색상 당 패턴에 어떤 문제가 있습니까? –
@RobertLongson 감사합니다. 내 페이지에서 사용자는 그릴 색과 패턴을 선택할 수 있어야합니다. 색상 당 패턴을 사용하면 사용자가 색상을 전환 할 때마다 페이지에 새 패턴을 첨부해야합니다. 그건 나에게 상당히 성가시다. 그러나 어쩌면 여기서 뭔가를 간과 할 수 있습니다. – Daniel
색상 이름을 패턴 ID (또는 데이터 속성)에 넣고 존재하지 않으면 색상 이름을 만듭니다. CSS에서 색상을 설정하고 CSS를 업데이트 할 수 있지만 그 패턴을 가진 기존의 모든 모양에 영향을 미칩니다. –