Canvas 无法剪裁区域

Canvas 无法剪裁区域,canvas,kineticjs,Canvas,Kineticjs,我正在使用以下代码为我的舞台设置剪辑区域: stage.setClip({ x: 0, y: 0, width: 500, height: 500 }); 但是当我做的时候: stage.toDataURL({ mimeType: 'image/png', callback: function(dataURL){ window.open(dataURL); }, quality: 1 }); 我得到的是整个舞台的图片,而

我正在使用以下代码为我的舞台设置剪辑区域:

stage.setClip({
    x: 0,
    y: 0,
    width: 500,
    height: 500
});
但是当我做的时候:

stage.toDataURL({
    mimeType: 'image/png',
    callback: function(dataURL){
    window.open(dataURL);
    },
    quality: 1
});
我得到的是整个舞台的图片,而不是剪辑区域?有什么方法可以让我只得到剪辑区域的图像吗


谢谢..

在不了解kinectjs的情况下(可能有点跛行),它最终将不得不使用系统的
toDataURL

toDataURL
将返回整个画布/舞台的总像素缓冲区,编码为PNG、JPEG等,没有裁剪功能

您必须手动执行裁剪操作,方法是创建所需大小的新阶段/画布,然后将部分从原始画布复制到此新画布上(通常这只是一个
drawImage
,源画布使用裁剪/剪辑区域将其复制到新画布上)

如果kinectjs有内置的方法来为您完成所有这些,我不知道,但是当您想要提取图像的一部分时,在任何一种情况下都需要这样做