更新: 画像をダウンロードしていますが、常に空白でダウンロードしています:
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」と表示されます