2013-07-01 73 views

回答

2

见KineticJS教程:

绘制自定义形状:http://www.html5canvastutorials.com/kineticjs/html5-canvas-kineticjs-shape-tutorial/

填写外形与图像模式:http://www.html5canvastutorials.com/kineticjs/html5-canvas-set-fill-with-kineticjs/

var imageObj = new Image(); 
imageObj.onload = function() { 
    drawImage(this); 
}; 
imageObj.src = 'http://www.html5canvastutorials.com/demos/assets/darth-vader.jpg'; 

var custom_shape_triangle = new Kinetic.Shape({ 
    drawFunc: function(canvas) { 
    var context = canvas.getContext(); 
    context.beginPath(); 
    context.moveTo(200, 50); 
    context.lineTo(420, 80); 
    context.quadraticCurveTo(300, 100, 260, 170); 
    context.closePath(); 
    canvas.fillStroke(this); 
    }, 
    fillPatternImage: imageObj, 
    stroke: 'black', 
    strokeWidth: 4 
}); 

的fillPatternImage属性是你在找什么,也有许多其他选项可用来填充图案,请参阅KineticJS文档以获得更多信息:http://kineticjs.com/docs/Kinetic.Shape.html

+1

+1 fillPatternImage是一种很好的回答杰西的需求。您可能需要稍微调整您的示例代码,因为它们需要自定义KineticJS形状而不是标准形状;) – markE

+0

这是真的,很好! :) – projeqht

+0

我曾尝试过,并有问题,我会看看如果我可以放在一起jsfiddle看看也许如果我可以复制这个问题。你如何定位模式我试图做出滚动并与它? – Jesse