PNGファイル書き出しの注意事項

PNGファイルをCanvasからtoDataURLで出力すると、そのデータはdata:から始まるテキストベースに出力されブラウザで即座に扱える画像データとして出力される。
そのデータはブラウザでimg.srcとして指定するだけで使えるけれど、それをPNGファイルとして書き出す時には
base64_decodeする前に、toDataURLするタイミングで、以下の様にReplaceしなければならない。

PNG FILEの中身(replace前)
data:image/png;base64,iV~~~~~~~

png_img = this.toDataURL("image/png").replace(/^.*,/,'');

PNG FILEの中身(replace後)
iV~~~~~~~

そのデータをPOSTなりAJAXなりでサーバにPHPで飛ばして、保存すればOK。
送信するデータはencodeURIComponent(PNGDATA)のようにして送信してあげないと、正常に送れないみたい。(+記号が原因?)