2

画像編集系のWebアプリを作成しています。内部にdiv多くのものが含まれるメインがあります。div

ユーザーが保存ボタンをクリックすると、メインdivを画像としてフォルダーに保存したい。を使用して試してCanvas.toDataURL()みましたが、キャンバス タグ内に div(main div) を配置できないことがわかりました。phpの機能も試してみimagegrabscreen()ましたが、ページ全体が読み込まれる前に画面をキャプチャしてしまい、使い物になりませんでした。

誰でも私を助けて、phpまたはjavascriptを使用してこれを実装する方法を提案できますか?

4

3 に答える 3

3

適切なキャンバス関数を使用して s を使用して描画できるのに、なぜたくさんのdivsを使用しているのですか?canvas

this oneなど、あなたがやろうとしていることの例はたくさんあります。

于 2012-11-06T14:12:51.980 に答える
0

メインのdivの「スクリーンショット」を撮りたい場合は、以下のリンクを確認してください

HTML5 / Canvas/JavaScriptを使用してスクリーンショットを撮る

http://html2canvas.hertzen.com/

于 2012-11-10T15:33:13.667 に答える
0
use this code to save image from canvas

function save_canvas_img()
            {

                var canvas = document.getElementById("your id");
                var canvasData = canvas.toDataURL("image/png");
                var ajax = new XMLHttpRequest();
                ajax.open("POST",'save.php',false);
                ajax.setRequestHeader('Content-Type', 'application/your page name');
                ajax.send(canvasData ); 

                alert('You have successfully saved this image');

            }`enter code here`
here save.php
if (isset($GLOBALS["HTTP_RAW_POST_DATA"]))
{

    $imageData=$GLOBALS['HTTP_RAW_POST_DATA'];


    $filteredData=substr($imageData, strpos($imageData, ",")+1);

    $unencodedData=base64_decode($filteredData);
    // Need to decode before saving since the data we received is already base64 encoded

    //echo "unencodedData".$unencodedData;
    $randomName = mktime(). rand(99999,9999999). '.png';



   $fp = fopen( 'foldername/'.$randomName, 'wb' );
    fwrite( $fp, $unencodedData);
    fclose( $fp );}`enter code here`
于 2012-11-06T14:23:03.967 に答える