Я придумал это недавно, но это не соответствует моим целям.
Сначала я беру данные изображения в base64:
var imgdata = canvas.toDataURL();
Затем я получаю хеш MD5 (я делаю это в PHP, но это не имеет значения; чтобы сделать это в JavaScript, вы должны использовать библиотеку, такую как this ) данных изображения:
var h = $.md5(imgdata);
После этого вы можете сравнить MD5 с предварительно вычисленным хешем пустого холста:
if(h == EMPTYCANVAS) ...
Это не работает для меня, так как пользователь устанавливает размеры изображения, и холсты разных размеров будут иметь другой хэш. Предложения по преодолению этого (избегая обхода пикселя за пикселем) были бы замечательными.