我有一个涂鸦应用程序,它将html5画布保存到s3中的图像。如果用户在没有绘制任何内容的情况下意外点击“保存”,我想避免保存空白(完全透明)的png。我发现即使对于空白画布,toDataURL()也不是空字符串,而是大量的数据转储。如果没有数据添加到画布,则此字符串似乎始终保持相同的值。因此,检测空白画布的一种方法是将提交的画布数据与此空画布数据字符串进行比较,以查看它们是否匹配。
我的问题是,有更有效的方法吗?对两个长度为数千个字符的字符串进行字符串比较意味着如果确实提交了空白画布,我们必须将所有方式与最后一个字符进行比较。首先计算新提交的画布的md5哈希值然后将其与已知空画布数据字符串的md5哈希值进行比较是否更有效?哪个更快?
他们是否有其他方法来确定空画布?
例如:比较字符串的长度是否匹配空画布的可靠测试?
答案 0 :(得分:1)
您可以轻松检测点击次数/抽奖吗?如果是这样,你可以有一个初始的'canvas empty'布尔值,在用户第一次绘制任何内容时会被翻转。
不幸的是,如果用户绘制某些东西,然后将其删除,然后保存,这将无济于事。