- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
var viewer = OpenSeadragon({
id: "openseadragon1",
prefixUrl: "images/openseadragon/",
showNavigator: true,
navigatorPosition: "BOTTOM_RIGHT",
tileSources: '/fcgi-bin/iipsrv.fcgi?Deepzoom=<?=$plink?>.jp2.dzi',
crossOriginPolicy: 'Anonymous',
zoomInButton: "zoom-in",
zoomOutButton: "zoom-out",
homeButton: "home",
fullPageButton: "full-page"
});
anno.makeAnnotatable(viewer);
$.ajax({
url: "handlers/H_AnnotationHandler.php",
data: "case_id=<?=$case_id?>&plink=<?=$plink?>&mode=get",
type: "post",
dataType: "json",
success: function(response) {
if (!response.error) {
for (var i=0; i<response.annots.length; i++) {
console.log(response.annots[i].comment);
anno.addAnnotation({
text: response.annots[i].comment,
shapes: [{
type: 'rect',
geometry: {
x: response.annots[i].rect_x,
y: response.annots[i].rect_y,
width: response.annots[i].rect_w,
height: response.annots[i].rect_h
}
}]
});
}
} else {
console.log(response.error);
}
}
});
我可以实时添加注释:http://annotorious.github.io/demos/openseadragon-preview.html
用户添加注释后,我存储在我的数据库中。当用户刷新页面时,我使用 ajax 调用 (H_AnnotationHandler.php
) 从数据库加载保存的数据。返回数据是真的,但是我无法使用anno.addAnnotation
在jpeg2000图像上绘制注释,我该如何绘制它?
引用:添加注释API .
最佳答案
您在 anno.addAnnotation
方法中缺少 src
属性,问题是我真的不知道那里应该有什么值,文档中没有关于那,我在互联网上唯一能找到的就是这个插件:
https://github.com/dgutman/OpenSeadragon-Plugins/tree/master/annotationState_Code
你可以试试看。
我实际上设法在演示页面上以编程方式附加事件,那里的 open sea dragon 模块注册为 dzi://openseadragon/something
,知道这一点你可以调用函数
anno.addAnnotation({
src : 'dzi://openseadragon/something',
text : 'My annotation',
shapes : [{
type : 'rect',
geometry : { x : 0.8, y: 0.8, width : 0.2, height: 0.2 }
}]
});
来自控制台(或在 ajax-success 循环中的代码中),它将被添加到图像中。然而,命名方法很漂亮......好吧,我在源代码中找到了这个:
annotorious.mediatypes.openseadragon.OpenSeadragonModule.prototype.getItemURL = function(item) {
// TODO implement something decent!
return 'dzi://openseadragon/something';
}
所以请放心,这在未来可能会改变。
关于javascript - 为 Openseadragon 添加注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34808659/
当我添加收费栏(如本例中: http://openseadragon.github.io/examples/ui-toolbar/ )属性时,我收到错误无法读取 null 的属性“appendChil
我正在尝试使用 openseadragon (OSD) 版本 2.2.1 下载全尺寸的深度缩放图像。我的图像位于服务器上,我可以使用 OSD 打开它们。我下载它们的步骤是: 使用 将图像列表加载到正文
我正在尝试在 1) 生成各种事件(滚动、点击等)的定制 UI 设备和 2) OpenSeadragon 查看器之间实现一个接口(interface),以便可以使用外部设备来导航图像.设备发送可以在浏览
我第一次使用 OpenSeaDragon,我试图显示到控制台缩放级别和视口(viewport)中心。 现在我发现了如何在点击时显示坐标( Openseadragon image cordinates
在此先感谢您的帮助。我正在使用 openseadragon 库。主要思想是选择可缩放图像的部分并将它们复制到已定义的 Canvas 上。为了使这成为可能,我正在尝试使用函数 canvas.getcon
我正在构建一个响应式图像查看器,其中包含 OpenSeaDragon,它需要在不同的屏幕宽度下有不同的平移行为。在宽度较窄时,不应允许平移,但当窗口较宽时,应激活平移。 简化示例如下: 假设窗口相当宽
我想要一个 ReferenceStrip 的切换按钮(属性:showReferenceStrip)。即使变量在运行时更新,它也不会在视觉上更新。有什么办法可以更新吗? Toggle Preview
我正在尝试在我的 angular4 应用程序中实现 openseadragon 缩放插件。 一切正常,但我无法显示原始图像大小,openseadragon 正在限制图像大小并将图像设置在中心,如果我像
我正在尝试在我的 angular4 应用程序中实现 openseadragon 缩放插件。 一切正常,但我无法显示原始图像大小,openseadragon 正在限制图像大小并将图像设置在中心,如果我像
我正在使用带有 fabricjs 覆盖的 Openseadragon 库。我有一种情况,我想拖动 Canvas ,而不是鼠标主按钮,我想通过按下鼠标中键来拖动它。谁能帮我得到想要的行为? 最佳答案 O
我正在开发一个基于 OpenSeaDragon 的图库,我希望能够在收藏模式下使用叠加层。基于 OSD 网站 ( http://openseadragon.github.io/ ) 上的各种示例,我设
有没有办法为OpenSeaDragon中的ZoomIn按钮添加监听器?我不确定我的 ZoomIn 按钮是否被单击,因此我想用监听器拦截单击。 我查看了 API,但它似乎没有显示事件监听器列表。 最佳答
我想知道如何开始使用 OpenSeadragon。我根据 github 上的存储库自述文件通过 node.js 安装了它.然后我在看 API看起来您必须使用 OpenSeadragon.Viewer
var viewer = OpenSeadragon({ id: "openseadragon1", prefixUrl: "images/openseadragon/", s
我想向 nextButton 和 previousButton 添加一个单击事件监听器并获取当前图像(通过 viewer.source.getTileUrl() 执行此操作)。 但是,我收到 Type
Canvas 右键单击是否可以工作?我需要右键单击吗?当我单击鼠标右键时,我需要显示一些弹出窗口。是否可以?那怎么办? 最佳答案 您需要 canvas-nonprimary-press 处理程序,如下
OpenSeaDragon 太棒了。 如果我使用 Viewport#fitBounds JS 方法移动到一个新的矩形,并使用默认参数,它会“动画”当前 View 和新请求的边界之间的过渡。 有什么办法
我正在关注 Basic Single-Row Tile Source Collection具有与示例中提到的相同配置和图 block 源的示例。 我现在正尝试在第一张和第二张图片上添加叠加层,但遇到了
I don’t understand what the problem is, OpenSeaDragon doesn’t display the slide that I take from
我必须在我的 Vue 组件中使用一个名为“OpenSeadragon”的外部 javascript 库。 但是如何在我的 Vue 组件中加载这个组件呢?在我的父模板中,我加载了库: 这是我的 Vue
我是一名优秀的程序员,十分优秀!