2014-02-06 6 views
0

좋아, 솔리드 컬러가 아닌 스트로크로 패턴이 지정된 이미지를 사용하는 선을 그리려하고 있습니다. Rect 나 다른 도형을 패턴으로 채울 수도 있지만, 내가하려고하는 것이 아니라 선으로 엄격하게 작업하고 있습니다. 그래서 제 질문이 있습니다. 이미지를 패턴에 전달하고 해당 패턴을 선의 획으로 사용할 수 있습니까? 아니면 그냥 Rect를 만들고 각 패턴을 내 패턴으로 채워야합니까?Kineticjs가있는 라인 패턴

var line = new Kinetic.Line({ 
points: [0, 0, 0, 500], 
stroke: /Here's where I want the pattern to go\, 
strokeWidth: strokeWidth 

});

답변

1

Html 캔버스를 사용하면 패턴을 사용하여 획을 그릴 수 있습니다.

키네틱스는 무늬가있는 획을 허용하지 않습니다.

은 그러나 당신은 Kinetic.Shape를 사용하고이 같은 실제 HTML 캔버스 컨텍스트를 잡아 수 있습니다

데모 : http://jsfiddle.net/m1erickson/hTP5J/

enter image description here

var triangle = new Kinetic.Shape({ 
    sceneFunc: function(context) { 
    var ctx=this.getContext()._context; 
    ctx.save(); 
    ctx.beginPath(); 
    ctx.moveTo(100, 50); 
    ctx.lineTo(320, 80); 
    ctx.quadraticCurveTo(200, 100, 160, 170); 
    ctx.closePath(); 
    var pattern=context.createPattern(img, 'repeat'); 
    ctx.strokeStyle=pattern; 
    ctx.lineWidth=20; 
    ctx.stroke(); 
    ctx.restore(); 
    }, 
}); 
+0

이 정확히 내가 찾던 것입니다. 고맙습니다. 모양 객체가 상대적으로 키네틱에 익숙하다는 것을 알고 있습니다. 아마도 그것을 더 자주 사용하기 시작해야 할 것입니다. 다시 한번 감사드립니다. – User

+0

트위닝 할 수 있습니까? 예를 들어, 이것을 선으로 처리 한 다음 패턴으로 선을 확장해야합니다. – User

+1

예. 이 예에서는 고정 소수점을 사용합니다. 이 예제의 고정 점을 상대 점, 즉 triangle.x(), triangle.y(), triangle.strokeWidth() 등의 선으로 대체 할 수 있습니다. 그런 다음 노드 값을 트위닝 할 수 있습니다. – markE