0

更新: 画像をダウンロードしていますが、常に空白でダウンロードしています:

function seadragon(){
var url = "http://26.img.americanancestors.org/8e09e1f1-e1e9-4414-a0f5-86a6f09454a2.xml";

var viewer = OpenSeadragon({
                id: "databaseviewer",
                prefixUrl: "../../Scripts/openseadragon/images/",
                tileSources: url,
                maxZoomLevel: 20
            });

viewer.addHandler('open', function() {
                var img = viewer.drawer.canvas.toDataURL("image/png");
                console.log(img);
                var downloadlink = document.getElementById("download");
                downloadlink.href = img;
                downloadlink.download = 'SeadragonImage';

            });
}

seadragon();

--------更新終了

Open Seadragon でディープ ズーム画像を表示するページがあります。

これは、問題を再現するためのフィドルです。

ダウンロード リンクと印刷リンクがありますが、現在はどちらも同じことを行います。imgurl を取得しようとしています。それを取得したら、ダウンロード方法はわかったと思いますが、 $(canvas).toDataURL() が機能していません。

function seadragon(){
    var url = "http://26.img.americanancestors.org/8e09e1f1-e1e9-4414-a0f5-86a6f09454a2.xml";

    var viewer = OpenSeadragon({
        id: "databaseviewer",
        tileSources: url,
        maxZoomLevel: 20
    });
}

$("a").on("click", function() {
        var canvas = $("canvas");
        console.log(canvas);
        imgurl = $(canvas).toDataURL();
        console.log(imgurl);
        });

seadragon();

console.log は、自分のページにキャンバス オブジェクトがあることを確認しています。画像の URL を取得できないのはなぜですか?

また、seadragon 関数内で画像を取得しようとしました。

function seadragon(){
    var url = "http://26.img.americanancestors.org/8e09e1f1-e1e9-4414-a0f5-86a6f09454a2.xml";

    var viewer = OpenSeadragon({
        id: "databaseviewer",
        tileSources: url,
        maxZoomLevel: 20
    });

    var img = viewer.drawer.canvas.toDataURL("image/png");
    console.log(img);
}

しかし、コンソールには「Uncaught TypeError: Cannot read property 'canvas' of null」と表示されます

4

1 に答える 1

0

おそらく、ビューアからキャンバスを直接取得したいので、正しいものを持っていることを確認しますが、キャンバスからの画像のダウンロードで行ったように、open イベントを待つ必要があります: ダウンロードされた画像は空白です

ところで、これについてはさらに議論があります:

https://github.com/openseadragon/openseadragon/issues/477

于 2014-09-15T16:30:02.930 に答える