我正在使用Kinetic.js开展一个项目。我正在使用当前版本。我想绘制一个自定义形状,并用图像模式填充该自定义形状。有人可以告诉我可以做到的吗?
答案 0 :(得分: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属性是您正在寻找的,fillPattern还有许多其他选项,请参阅KineticJS文档了解更多信息:http://kineticjs.com/docs/Kinetic.Shape.html