Javascript KineticJS无法用图像填充多边形

Javascript KineticJS无法用图像填充多边形,javascript,jquery,html,canvas,kineticjs,Javascript,Jquery,Html,Canvas,Kineticjs,将KineticJS从v4.0.5更新到v4.3.1后,我无法再使用以下方法用图像填充多边形: polygon.setFill({ image: imageObj }); 我的背景是黑色的。还有别的办法吗 尝试:我尝试了poly.setFillPattern(图像) jsiddle: 删除动能.Polygon中的“填充”配置 您创建了thingImage,但从未使用过它 您可以使用“setFillPatternImage” 你必须调用stage.draw in iamge.onload

将KineticJS从v4.0.5更新到v4.3.1后,我无法再使用以下方法用图像填充多边形:

polygon.setFill({
    image: imageObj
});
我的背景是黑色的。还有别的办法吗

尝试:我尝试了
poly.setFillPattern(图像)

jsiddle:

  • 删除动能.Polygon中的“填充”配置
  • 您创建了thingImage,但从未使用过它
  • 您可以使用“setFillPatternImage”
  • 你必须调用stage.draw in iamge.onload
代码:

var stage = new Kinetic.Stage({
   container: 'canvas',
   width: 600,
   height: 600
});
var layer = new Kinetic.Layer();
// Outline
var poly = new Kinetic.Polygon({
    points: [0, 0, 400, 0, 400, 400, 0, 400],
    //fill: 'red',
    stroke: '#000',
    strokeWidth: 0,
    name: 'poly',
    draggable: false
});
var imageObj = new Image();
imageObj.src = 'http://www.html5canvastutorials.com/demos/assets/darth-vader.jpg';
imageObj.onload = function() {
    poly.setFillPatternImage(imageObj);
    stage.draw();
}

layer.add(poly);
stage.add(layer);