JSZipを使用して、キャンバス要素から画像データを生成し、画像を zip ファイルに入れるプログラムを作成しています。
現在、キャンバス イメージを DataURL に変換しています。次に、結果の文字列の と書かれている部分を取り除きますdata:image/png;base64,
。これで、base64 データ以外は何も残りません。次に、atob
それを ascii に変更します。
残りの文字列を画像ファイルに入れるとうまくいくようですが、生成された ascii テキストは正しくありません。その多くの部分は正しいのですが、何かが正しくありません。
これが私のコードです:
//screen is the name of the canvas.
var imgData = screen.toDataURL();
imgData = imgData.substr(22);
imgData = atob(imgData);
console.log(imgData);
結果の png ファイルのイメージを次に示します (メモ帳に): 不正なテキスト http://upurs.us/image/71280.png
そして、これは次のようになります: 正しいテキスト http://upurs.us/image/71281.png
ご覧のとおり、わずかな違いがあり、その理由はわかりません。私は PNG ファイルの種類や ASCII についてまったく知らないので、ここからどこへ行くべきかわかりません。
私の作品をすべて見たい場合は、プロジェクトをご覧ください: http://s000.tinyupload.com/download.php?file_id=09682586927694868772&t=0968258692769486877226111
編集: 私の最終目標は、キャンバス アニメーションのすべてのフレームをエクスポートして、それらを使用してビデオを作成できるプログラムを作成することです。誰かがそれを行うプログラムを知っている場合は、投稿してください!