2013-09-02 26 views
20

基本的に、私は見出しの状態を何とかして、divの内容をイメージとして保存しようとしています。divの内容をイメージとして保存する方法は?

私は、iPad用の小さなオンラインアプリケーションを作成する予定です。

必要な機能の1つは、画像として完全なウェブページを保存し、その画像をiPadのカメラロールに保存できる「保存」ボタンがあることです。可視領域だけでなく、divの内容全体を保存したいと思います。

私は簡単にオンラインで検索しましたが、何かに関する多くのドキュメントは見つかりませんでした。私はHTML5 Canvasで多くを見つけました。ここで私は一緒に入れ、いくつかのコードです:

TypeError: c.getContext is not a function 

このアプリケーションは、唯一のHTML、CSSとjQuery(または他のJavaScriptライブラリ)を使用して構築されますが、

<script> 
function saveimg() 
{ 
    var c = document.getElementById('mycanvas'); 
    var t = c.getContext('2d'); 
    window.location.href = image; 

    window.open('', document.getElementById('mycanvas').toDataURL()); 
} 
</script> 

<div id="mycanvas"> 
This is just a test<br /> 
12344<br /> 
</div> 

<button onclick="saveimg()">Save</button> 

が、私はこのエラーを取得しています。

+0

[JavaScriptを使ってdivのスクリーンショットを撮る方法は?](http://stackoverflow.com/questions/6887183/how-to-take-screen-shot-of-a-div-with- –

+0

@GlenSwift - ありがとうございますが、そのポストのサンプルコードは動作しません。 – Fizzix

+0

'c.getContext'は関数ではありません。なぜなら、' mycanvas'はdivだけであり、 'canvas'要素ではないからです。 'キャンバス'だけがコンテキストを持っています。 – CheeseWarlock

答えて

13

この同じ質問(1,2)のいくつかがあります。それを行う1つの方法は、キャンバスを使用することです。 Here's a working solutionHereこのライブラリの使用例を見ることができます。

+0

を使用してHTMLを画像に変換すると、次のエラーが表示されます毎回私はそれを使用します。 html2canvas(document.body).then(function(canvas){ document.body.appendChild(canvas); }); TypeError:未定義は関数ではありません – noj

+1

問題を正しく解決するための情報はありません。どの機能が未定義ですか?いつどこでエラーがスローされますか?このために新しい質問を作成することをお勧めします –

関連する問題