Как определить, что холст html5 пуст? - PullRequest
1 голос
/ 25 июня 2011

У меня есть приложение для каракули, которое сохраняет холст html5 в изображение в s3. Я хочу избежать сохранения пустых (полностью прозрачных) png, если пользователь случайно нажмет «сохранить», не нарисовав ничего. Я обнаружил, что даже для пустого холста toDataURL () никогда не является пустой строкой, а представляет собой огромный дамп данных. Эта строка всегда остается неизменной, если на холст не добавлены данные. Поэтому одним из способов обнаружения пустого холста является сравнение отправленных данных холста с этой пустой строкой данных холста, чтобы определить, совпадают ли они.

Мой вопрос: есть ли более эффективный способ сделать это? Сравнение двух строк длиной в тысячи символов означает, что мы должны сравнивать весь путь до последнего символа, если действительно передан пустой холст. Является ли более эффективным сначала вычислить хэш md5 вновь представленного холста, а затем сравнить его с хешем md5 известной пустой строки данных холста? Что быстрее?

Есть ли другие способы определения пустого холста?

Например: является ли сравнение длины строк надежным тестом на соответствие пустого холста?

1 Ответ

1 голос
/ 25 июня 2011

Можете ли вы легко обнаружить клики / ничьи? Если это так, вы можете получить начальное логическое значение canvas canvas, которое переворачивается при первом рисовании пользователем чего-либо.

К сожалению, это не помогло бы, если пользователь что-то нарисовал, затем стерл, а затем сохранил.

...