ソースコードを見ると、(setOverlayImageのパラメーターとして)期待どおりにnullに設定できないバグのように見えます。static_canvas.class.jsを見ると、次のソースコードが表示されますsetOverlayImage()
。
setOverlayImage: function (url, callback) { // TODO (kangax): test callback
return fabric.util.loadImage(url, function(img) {
this.overlayImage = img;
callback && callback();
}, this);
}
そして、util / misc.jsには、次のソースコードが表示されますutil.loadImage()
。
function loadImage(url, callback, context) {
if (url) {
var img = new Image();
/** @ignore */
img.onload = function () {
callback && callback.call(context, img);
img = img.onload = null;
};
img.src = url;
}
}
したがってsetOverlayImage()
、nullをに渡すかどうかを確認できます。次に、nullがの引数になりutil.loadImage()
ます。また、後者の引数がnullの場合、メソッドは何も実行しないため、操作全体は何も実行しません。
canvas
オブジェクトをごまかして直接プロパティを設定する必要があるようです。
canvas.overlayImage = null;
canvas.renderAll.bind(canvas);