19

base64でエンコードされた画像として新しいウィンドウでキャンバスを開かずに、キャンバスをPNGとして保存したい。

私はこのコードを使用しました:

jQuery("#btnPreview").click(function(){
        if (!fabric.Canvas.supports('toDataURL')) {
            alert('Sorry, your browser is not supported.');
        }
        else {
            canvas.deactivateAll();
            canvas.forEachObject(function(o){
                if(o.get("title") == "||Watermark||"){
                    canvas.bringToFront(o);
                }
            });
            window.open(canvas.toDataURL('png'), "");
            canvas.forEachObject(function(o){
                if(o.get("title") == "||Watermark||"){
                    canvas.sendToBack(o);
                }
            });
            canvas.renderAll();
        }

    });

ボタンが画像をPNGまたはJPGとして保存するようにしたい。

4

3 に答える 3

4

canvas.toDataURL('png')文字列 a la を提供しますdata:image/png;base64,XYZ。それを に詰め込むことができ<a href="%dataURI%" download>download</a>ます (要素でクリック イベントをトリガーする可能性があります)。HTML5 のリソースのダウンロードを参照してください: a[download]

ただし、現在は Google Chrome でのみサポートされています。

于 2012-06-26T12:34:19.383 に答える