首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Openseadragon图像坐标

Openseadragon图像坐标
EN

Stack Overflow用户
提问于 2013-08-24 09:59:38
回答 2查看 3.3K关注 0票数 1

我正在使用openseadragon做一个项目,请查看下面的示例。一幅开敞式的小样本图像

在Onclick方法中,要找到image.Is的cordinates(px,py),有什么方法吗??请帮助,这是马的第一个开放项目。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-26 18:05:53

当你得到一个点击,它将在窗口像素坐标。然后,您可以将其转换为viewport坐标(从左侧的0.0到右侧的1.0 )。然后,您可以将这些转换为图像坐标。下面是大家的看法:

代码语言:javascript
复制
viewer.addHandler('canvas-click', function(event) {
  var viewportPoint = viewer.viewport.pointFromPixel(event.position);
  var imagePoint = viewer.viewport.viewportToImageCoordinates(viewportPoint.x, viewportPoint.y);
  console.log(imagePoint.x, imagePoint.y);
});

有关坐标系的更多信息,请参见:http://openseadragon.github.io/examples/viewport-coordinates/

票数 5
EN

Stack Overflow用户

发布于 2015-12-04 07:53:22

下面的代码改编自@iangilman的答案,在OpenSeadragon 2.0.0中为我工作。在最近的版本中,似乎删除了处理程序函数的第二个参数。我添加了quick === true条件,以防止它在拖动启动时触发。在gestureSettingsMouse对象中切换默认的单击到缩放行为也可能是个好主意。

代码语言:javascript
复制
viewer = OpenSeadragon({
    id: "osd1",
    prefixUrl: "/path/to/seadragon/images/",
    tileSources: "/path/to/tif/images/image.tif.dzi",
    showNavigator:  true,
    gestureSettingsMouse: {
        clickToZoom: false,
        dblClickToZoom: true
    }
});
viewer.addHandler('canvas-click', function(target) {
    if(target.quick === true){
        var viewportPoint = viewer.viewport.pointFromPixel(target.position);
        var imagePoint = viewer.viewport.viewportToImageCoordinates(viewportPoint.x, viewportPoint.y);
            console.log(parseInt(imagePoint.x), parseInt(imagePoint.y));
        }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18417287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档