0
このJSコードはコンソールで実行するとうまく動作しますが、パブリックメソッドclean()
はキャンバス上のすべてのものを一掃しません。
コードには他の方法がありますが、失敗しているのはクリーニングです。 ctx
には値があり、nullではありません。 キャンバスをきれいにするように修正するにはどうすればいいですか?おかげ任意の図からキャンバスを消去する
signRect = function() {
let tr_sign = null;
let ctx = null;
let canvas_sign = null;
const makeCanvas =() => {
if (canvas_sign) return canvas_sign;
canvas_sign = document.createElement('canvas');
canvas_sign.position = 'absolute';
canvas_sign.width = 300;
canvas_sign.height = 170;
canvas_sign.id = 'signature';
canvas_sign.style.border = '1px solid black';
canvas_sign.style.top = '-75px';
canvas_sign.style.left = '-50px';
canvas_sign.style.opacity = '0.5';
canvas_sign.style.position = 'absolute';
ctx = canvas_sign.getContext('2d');
ctx.fillStyle = "#000";
ctx.lineWidth = 1;
return canvas_sign;
};
return {
clean:() => {
ctx.clearRect(0, 0, canvas_sign.width, canvas_sign.height);
ctx.beginPath();
}
}
};
'makeCanvas()'と 'someNewSignRect.clean()'よりもうまくいけば... –