【问题标题】:How to display original image size in openseadragon?如何在openseadragon中显示原始图像大小?
【发布时间】:2017-08-16 06:08:28
【问题描述】:

我正在尝试在我的 angular4 应用程序中实现 openseadragon 缩放插件。

一切正常,但我无法显示原始图像大小,openseadragon 限制图像大小并将图像设置在中心,如果我使用如下所示,

const viewer = OpenSeadragon({
            id                 : 'seadragon-viewer',
            prefixUrl          : '//openseadragon.github.io/openseadragon/images/',
            tileSources        : this.primaryPicture.hiResInformation,
            showFullPageControl: false,
            showNavigator      : true,
            homeFillsViewer    : false,
        });

如果我使用homeFillsViewer : true,则图像适合 div,但图像不像裁剪图像那样正确。

我想显示图片的原始尺寸。

任何解决方案都会有所帮助,在此先感谢您。

【问题讨论】:

    标签: angular openseadragon


    【解决方案1】:

    您的原始尺寸是指您希望图像中的像素与屏幕上的像素之间存在 1 对 1 的对应关系?要确定缩放比例,您必须将查看器的大小与图像的大小进行比较并适当地缩放。像这样的:

    viewer.addHandler('open', function() {
      var tiledImage = viewer.world.getItemAt(0); // Assuming you just have a single image in the viewer
      var targetZoom = tiledImage.source.dimensions.x / viewer.viewport.getContainerSize().x;
      viewer.viewport.zoomTo(targetZoom, null, true);
    });
    

    它正在运行:https://codepen.io/iangilman/pen/RZxEWZ

    【讨论】:

    • 原始尺寸是指在源中给出的任何图像尺寸,例如 height:1300 和 width:1200 应该以相同尺寸显示在查看器中,但当前查看器将所有图像限制为特定尺寸,而与原始尺寸无关尺寸
    • 好的,那我想我们说的是同一件事。这段代码应该可以解决问题。请注意,您仍然需要平移。
    • 这似乎对我不起作用。我将尝试找出问题并发布解决方案,如果它工作正常。谢谢你的帮助。 @iangilman
    【解决方案2】:

    如果您想显示 dzi 图像的真实尺寸容器 - 您的容器应该具有与源图像尺寸相同的尺寸。为此,您可以使用以下代码:

    viewer.addHandler('open', function() {
     $("#seadragon-viewer").attr("style", "height: " + 
         (viewer.world.getItemAt(0).source.dimensions.y / 
         window.devicePixelRatio) + "px;" + "width: " + 
         (viewer.world.getItemAt(0).source.dimensions.x / 
         window.devicePixelRatio) + "px");
    });
    

    对于高分辨率屏幕,您需要使用 window.devicePixelRatio。

    【讨论】:

    • 这也是一个很好的答案;取决于您要完成的工作。
    • 这似乎对我有用,但问题是图像与容器的左侧对齐,但我需要居中。
    • 尝试在上面的代码中添加额外的样式:style="text-align : center;"。另外,请使用谷歌如何将图像放在中心
    • 好的。非常感谢您的回答。 @观察者
    猜你喜欢
    • 1970-01-01
    • 2011-12-13
    • 1970-01-01
    • 2017-06-06
    • 2010-11-28
    • 2013-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多