改变颜色后,Kinetic JS在Image上显示边框

时间:2014-04-29 19:08:12

标签: kineticjs

还有其他人注意到这一点,还是找到了解决方案? 我们说我有一张照片。

       image.setAttrs({
            stroke: 'black',
            strokeWidth: 0,
            lineJoin: 'round',
            dash: [ 5, 5 ],
            dashEnabled: true,
            strokeEnabled: true 
        });

        image.draw();

这很好用,我的图像用方形虚线边框绘制。 现在让我们重新着色图像:

        image.cache();

        image.filters([Kinetic.Filters.RGB]);
        image.red(r).green(g).blue(b);

        image.draw();

现在图像重新着色,但笔画丢失了。我似乎找不到任何方法让它再次出现。

如果我使用console.dir()检查对象,则属性" strokeEnabled"显示为" true"。

1 个答案:

答案 0 :(得分:1)

在使用stokeEnabled之前,您必须清除缓存。

myImage.clearCache();
myImage.strokeEnabled(true);
myImage.cache({
    x : myImage.x() - 2,
    y : myImage.y() - 2,
    width : myImage.width() + 4,
    height : myImage.height() + 4
});
myStage.draw();

http://jsfiddle.net/PhJx9/23/