我想为OpenSeadragon创建一个分水岭,以呈现玩家对游戏的看法。世界上有坐标(x,y),玩家在一个特定的坐标上,有一个视野范围。
我想要的是为OpenSeadragon创建一个tilesource,它可以显示整个视图。最大变焦时,1瓦=1倍。因此,我有几个问题:我如何计算最大缩放级别的球员的视场范围?我如何知道我必须在OpenSeadragon (x,y,level)所要求的瓷砖中呈现的世界位置?
谢谢:)
发布于 2014-11-18 17:28:07
如果我正确理解,您将尝试创建一个自定义TileSource,在这里您可以从一组构成游戏地图构建块的标准瓷砖中加载。如果需要,可以指定最大级别是它尝试加载的唯一级别(通过使minLevel和maxLevel相同),因此不必处理生成平铺组合的问题。这使得getTileUrl(level, x, y)变得简单,因为您只需要处理1:1层。这就留下了什么是最大水平的问题。如下列文件所界定:
http://openseadragon.github.io/docs/OpenSeadragon.TileSource.html
...the公式是:
默认情况下,图像金字塔被分成N层,其中以M为单位的图像最长边(以像素为单位),其中N是满足2^(N+1) >= M的最小整数。
基本上,你只是在数2的力量,直到你达到你的图像大小。所以,如果你的图像是一个像素在一边,你的最大水平是0。如果它是一个侧面的2个像素,你的最大水平是1,4= 2,8= 3,等等。
假设你的tileSize是100个像素,地图是5x7块。这意味着最长的尺寸是700像素。看看2,700的功率大于512,小于1024,所以我们使用1024。1024是2的第10次,所以你的最高等级是10。
这能回答你的问题吗?
https://stackoverflow.com/questions/26961045
复制相似问题