的完整代碼,也可以在這裏找到:https://gist.github.com/1973726(部分版本上的jsfiddle http://jsfiddle.net/VaEAJ/顯然不能讓PHP與運行的jsfiddle)由JavaScript Canvas API生成的圖像在保存時不可見?
我最初寫了一些代碼,花了canvas元素,並將其保存爲圖像(見工作代碼在這裏:https://gist.github.com/1973283),然後我更新它,以便它可以處理多個畫布元素,但現在的主要區別是圖像數據通過jQuery ajax方法傳遞到我的PHP腳本,而不是通過隱藏的表單字段。
問題是圖像顯示爲空白。它們在生成時大約爲200kb,因此它們顯然有一些內容,但是當您預覽圖像時什麼也沒有顯示,當我嘗試在Adobe Fireworks或其他照片應用程序中打開圖像時,我無法打開文件。
圖像數據似乎是通過服務器罰款,但我真的不知道爲什麼現在當我寫圖像使用base64_decode
這將意味着生成的圖像將不再是可見的?我唯一能想到的是,也許通過ajax發佈的數據並不是通過發送所有數據,因此它會生成一個圖像,但它不是完整的內容,因此圖像不完整(因此爲什麼照片應用程序可以'打開它)。
當檢查Firebug中的發佈數據時,它表明已達到限制?不知道這是什麼問題?
能否請您提供使用jQuery AJAX在你的代碼更新的例子嗎? – 2012-03-04 17:30:38
1)我很驚訝它可以在所有因爲交叉來源問題2)你似乎沒有編碼數據的URI,嘗試'encodeURIComponent(newCanvas.toDataURL())'在將數據傳遞給jQuery的ajax方法。 – James 2012-03-04 18:30:38