2011-06-25 55 views
1

我有一個塗鴉應用程序,它將s3中的圖像保存爲html5畫布。我想避免保存空白(完全透明)的PNG,如果用戶在沒有繪製任何東西的情況下意外點擊「保存」。我發現即使是空白畫布,toDataURL()也不會是空字符串,而是大量數據。如果沒有數據添加到畫布,則該字符串看起來總是保持相同的值。因此,檢測空畫布的一種方法是將提交的畫布數據與此空畫布數據字符串進行比較,以查看它們是否匹配。如何檢測html5畫布是否爲空?

我的問題是,是否有一個更有效的方法來做到這一點?對數千個字符長的兩個字符串進行字符串比較意味着,如果確實存在提交的空畫布,我們必須一路比較最後一個字符。首先計算新提交的畫布的md5哈希值,然後將其與已知空畫布數據字符串的md5哈希值進行比較,是否更有效?哪個更快?

他們是否有其他確定空畫布的方法?

例如:比較字符串的長度是否匹配空畫布的可靠測試?

+0

類似的問題http://stackoverflow.com/q/4644524/684229 – TMS

回答

1

您是否可以輕鬆檢測點擊/繪圖?如果是這樣,你可以有一個初始的「畫布空」布爾值,在用戶第一次繪製任何東西時被翻轉。

不幸的是,如果用戶繪製一些東西,然後將其擦除然後保存,這將無濟於事。

+0

是的,我可以設置一個隱藏的領域,如果他們已經完成在畫布中的mouseDown。我想這對大多數情況都適用,然後我可以避免檢查實際的空文件。所以解決方案是沒有橡皮擦! :) – Homan