У меня есть приложение для рисования, которое сохраняет холст html5 в изображение в s3. Я хочу избежать сохранения пустых (полностью прозрачных) png, если пользователь случайно нажмет «сохранить», ничего не нарисовав. Я обнаружил, что даже для пустого холста toDataURL() никогда не бывает пустой строкой, а представляет собой огромный массив данных. Эта строка всегда остается неизменной, если на холст не добавляются данные. Таким образом, один из способов обнаружения пустого холста — сравнить отправленные данные холста с этой пустой строкой данных холста, чтобы увидеть, совпадают ли они.
Мой вопрос в том, есть ли более эффективный способ сделать это? Выполнение сравнения двух строк длиной в тысячи символов означает, что мы должны сравнивать весь путь до последнего символа, если действительно представлен пустой холст. Является ли более эффективным сначала вычислить хэш md5 вновь отправленного холста, а затем сравнить его с хэшем md5 известной пустой строки данных холста? Что быстрее?
Есть ли другие способы определения пустого холста?
Например: является ли сравнение длины строк надежным тестом для сопоставления пустого холста?