2012-11-01 103 views
4

我有一個帶有圖像的html5畫布。人民可以使用javascript編輯/調整圖像。畢竟他們必須有一個選擇,可以在Facebook牆上發佈該圖片。由於我所知,我們能夠滿足這樣將html5畫布保存爲服務器中的圖像

Save Canvas data as image in to my server  -->  Post to Facebook with its image URL --> Delete the image on call back. 

首先的要求是這個假設是正確的,第二個是

如何使用一個按鈕的JavaScript的HTML 5畫布保存爲PNG圖像點擊? 這可能嗎?

回答

4

您可以使用JavaScript畫布保存爲特定圖像格式

var mycanvas = document.getElementById("whatever"); //get your canvas 
var image = mycanvas.toDataURL("image/png"); //Convert the canvas to image, currently converting to .png 
+2

+1 - 但值得注意的是,由此產生的圖像是base64編碼,並將比二進制編碼的PNG更大。在發送給FB之前,在服務器上本地編碼它可能是一個好主意。 – techfoobar

+0

如果是這樣我不能上傳到Facebook?任何問題? – ramesh

+1

@techfoobar同意.. –

2

首先,你必須使用Javascript功能來您的圖像轉換爲Base64格式:

var canvas = document.getElementById("canvas"); 
var data = canvas.toDataURL("image/jpeg"); 

現在通過PHP轉換成將其映像並保存到服務器

file_put_contents("myimage.jpg", base64_decode(explode(",", $_GET['data'])[1])); 

這就是全部

相關問題