首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在openseadragon中显示原始图像大小?

如何在openseadragon中显示原始图像大小?
EN

Stack Overflow用户
提问于 2017-08-16 06:08:28
回答 2查看 2.8K关注 0票数 2

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

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

代码语言:javascript
复制
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的,但是图像并不像裁剪的图像那样合适。

我想显示图像的原始大小。

任何解决方案都会有帮助,谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-17 18:39:35

如果您想显示dzi映像的实际大小容器--您的容器应该具有与源图像维度相同的维度。要做到这一点,您可以使用以下代码:

代码语言:javascript
复制
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。

票数 2
EN

Stack Overflow用户

发布于 2017-08-17 16:54:17

原来的大小,你的意思是你想要1到1之间的像素之间的图像和像素在屏幕上?要想弄清楚缩放的大小,您必须将查看器的大小与图像的大小进行比较,并适当地缩放。就像这样:

代码语言:javascript
复制
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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45706196

复制
相关文章

相似问题

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