情境:在提交的時(shí)候需要判斷用戶是否在canvas上繪制內(nèi)容
方法一
判斷圖層通道,但是在ie或者360兼容模式下激涤,會(huì)報(bào)some屬性或者方法不支持的問(wèn)題,沒(méi)有找到比較好的修改方法【厍罚可以用在手機(jī)端
//returns true if all color channels in each pixel are 0 (or "blank")
function isCanvasBlank(canvas) {
return !canvas.getContext('2d').getImageData(0, 0, canvas.width, canvas.height).data.some(function(channel){return channel !==0;})
}
方法二
png算法 這個(gè)方法去判斷兼容性比較好,pc端推薦該方法悠夯。
//判斷canvas是否繪制簽名
function isCanvasBlank(canvas) {
//PNG 算法
var blank = document.createElement('canvas');
blank.width = canvas.width;
blank.height = canvas.height;
return canvas.toDataURL() == blank.toDataURL();
}