当使用KineticJS的.toImage()方法中,我似乎总是得到一个更大的影像比实际需要,用一块我需要占用只有数据图像的左上角。 我的阶段是基于窗口的大小和预定义的初始大小缩放(在窗口调整大小,调整大小称为阶段函数设定所述刻度和所述容器的大小)。 我应该设置某种作物,当我使用toImage()来弥补这一点? 综观图像,似乎整体形象的两倍左右它需要的大小,以及一块,我需要的是大约有一半我需要的尺寸,当规模在0.5左右(舞台的一半左右大小,因为我使用Chrome和离开开发商栏底部调试打开)。
下面是我使用的是现在该怎么办:
desc.toImage({
width: sideW / cvsObj.scale,
height: sideH / cvsObj.scale,
callback: function(img) {
desc.hide();
sideImg.transitionTo({x : sideW / 2, width : 0, duration : 0.25, callback : function() {
// add image to emulate content
var params = {name : 'descimg', width : sideW, height : sideH, image : img, x : sideW / 2, y : 0};
var image = new Kinetic.Image(params);
side.add(image);
image.setWidth(1);
sideImg.hide();
image.transitionTo({x : 0, width : sideW, duration : 0.25, callback : function() {
side.add(desc);
desc.show();
image.hide();
cvsObj.page.draw();
}});
}});
}
});