總結:說我畫一個白色的笑臉在瀏覽器中的canvas元素。當我在Safari中通過js/ajax(與toDataUrl('image/png'))從此畫布生成POST服務器到PHP服務器的圖像字符串時,使用PHP函數imagecreatefromstring()和imagepng()在服務器上創建的圖像是正確的高度和寬度,但它全是白色的,而不是瀏覽器畫布上的笑臉。.toDataURL()從Safari瀏覽器PHP是呈現全白圖像(未畫出區)
我剝去「數據:圖像/ PNG; BASE64,」 base64_decoding並保存爲圖像文件之前從字符串。
此方法在FF和Chrome中完美工作。
編碼的字符串,toDataUrl在JS生成的基於64被驗證爲服務器已接收到相同的字符串,因此它沒有得到在轉印切斷。
當我從toDataUrl()將圖像字符串加載到任何瀏覽器時,它會按預期顯示繪製的圖像。但是,服務器上生成的newimage.png完全是白色的。
有不同的東西,Safari瀏覽器也進行編碼的圖像轉換爲需要被佔服務器上的base64字符串?如果是這樣,它不能太過於激烈,因爲任何瀏覽器都能夠從圖像字符串中呈現正確的笑臉。
請隨時讓我知道如果你需要更多的信息。
預先感謝您!
編輯: 可以將它涉及到如何野生動物園店透明度?
您如何發佈由Safari和FF的'toDataUrl'生成的字符串,以便我們可以看到有什麼不同? – 2012-04-23 19:29:51