我尝试用这种方式裁剪图像
var crop = new Kinetic.Image({
image: img ,
x: 100, y: 100, width: 100, heigth: 100,
crop : {
x: 0, y: 0, width: 100, heigth: 100
}
});
并且无效,请参阅http://jsfiddle.net/cm5jj/
然后我尝试用图像填充rect
var rect = new Kinetic.Rect({
x: 100,
y: 100,
width: 100,
height: 100,
fill:{
image: img,
crop:{
x: 0,
y: 0,
width: 100,
height: 100
},
}
});
仍然无效http://jsfiddle.net/cm5jj/1/
请帮忙。
非常感谢。
答案 0 :(得分:1)
我认为问题在于您将图像裁剪为图像尺寸的精确尺寸,这意味着您根本没有裁剪。尝试将宽度和高度设置为大于裁剪宽度和高度值的值。
另外,如果你想要为精灵设置动画,你应该使用Kinetic.Sprite()代替
答案 1 :(得分:0)
在您的第一个代码段中,您使用height
错误键入了heigth
。也许拼写检查会对此有所帮助。
至于你的第二个代码片段,要用图片填充矩形,你需要fillPatternImage
属性,这需要一个图像对象,而fill
用于填充颜色。
fill
示例:var rect = new Kinetic.Rect({
x: 100,
y: 100,
width: 100,
height: 100,
fill: 'blue'
});
fillPatternImage
示例:var img = new Image();
img.onload = function() {
var rect = new Kinetic.Rect({
x: 100,
y: 100,
width: 100,
height: 100,
fillPatternImage: img
});
// Add rect to your layer, and do drawing
};
img.src = 'http://cdn.sstatic.net/img/share-sprite-new.svg';