ページがロードされたときに(ユーザーの操作なしで)いくつかの重複するキャンバスに画像を生成しますが、完全に描画するには〜3秒かかります. これらのキャンバスをフラット化し、この画像をサーバー上で PNG に変換して、サムネイル プレビューで使用したいと考えています。
(ctx.drawImage(other_canvas,0,0) を使用して) 単一のキャンバスにフラット化してから、ctx.toDataUrl() はまさに私が必要としているもののように見えます。ユーザーのブラウザを必要とせずにサーバー側でこれを行う方法はありますか? ページをロードし、キャンバスのレンダリングが終了するのを待ってから、いくつかの javascript を挿入して平坦化し、toDataUrl を呼び出し、結果の画像をサイズ変更して保存できるコマンドライン JavaScript/キャンバス パーサーのようなものです。
最初の人がページを表示する前にサムネイルが必要なため、サムネイルをレンダリングしてサーバーに送り返す AJAX ソリューションは機能しません。また、高速である必要があります (できれば、キャンバスのレンダリングにかかる時間 (3 秒) よりわずかに長くするだけです)。browsershots のような外部サービスが待ちきれません。
私は CutyCapt を見ましたが、それはキャンバスだけでなく Web ページ全体をレンダリングします (また、何らかの理由でキャンバスにすべてを描画していないようです)。
ありがとう。