Javascript 图像坐标到视口坐标的转换不正确-openseadragon svgOverlay

Javascript 图像坐标到视口坐标的转换不正确-openseadragon svgOverlay,javascript,openseadragon,Javascript,Openseadragon,我试图从文件中加载点(图像坐标),并使用svg覆盖在openseadragon上显示它。使用imageToViewportCoordinates将点转换为视口坐标,但它们的位置看起来不正确。 我使用一个滑块在查看器中显示不同的图像,并为每个图像显示一些点。对于某些图像,这些点已正确标记。我只是在开始时创建一个覆盖,清除与slider change事件中的图像对应的元素和设置点 是否可能是使用单一覆盖造成问题?我是否必须设置任何偏移量或对svg元素进行其他转换 滑块更改事件中与图像对应的设定点

我试图从文件中加载点(图像坐标),并使用svg覆盖在openseadragon上显示它。使用imageToViewportCoordinates将点转换为视口坐标,但它们的位置看起来不正确。 我使用一个滑块在查看器中显示不同的图像,并为每个图像显示一些点。对于某些图像,这些点已正确标记。我只是在开始时创建一个覆盖,清除与slider change事件中的图像对应的元素和设置点

是否可能是使用单一覆盖造成问题?我是否必须设置任何偏移量或对svg元素进行其他转换

滑块更改事件中与图像对应的设定点


也许等待查看器打开事件会更好,因为在使用转换函数之前将设置图像维度属性

下面是我设置数据的方式:$.ajax({url://images//get_slice?slice=“+ref_slice_num.toString()).done(函数(数据){Viewer.open('/'+data.dzi url);});设置结果(参考切片数);您的意思是在查看器打开事件之后创建覆盖吗?@db20是的,我的意思是在查看器打开事件的处理程序中或之后。我的推理是,当你打开一个新图像时,它是异步的,所以如果你开始调用依赖于图像数据的方法,它们可能在数据可用之前是不准确的。查看器中有一个图像,还是多个?如果有多个,则需要使用TileImage中的ImageToViewPort坐标,而不是视口中的坐标。