我正在尝试根据缩放级别计算变量。
例如,我有一个4x4网格的缩放级别1.现在我放大一次它将变为8 * 8的缩放级别2.放大一次,它将是16 * 16的缩放级别3.等
现在我唯一存储的是缩放级别1的两个数字,可以更改为例如5x4甚至1x1。
所以我的问题是如何只用这两个数字和缩放级别来计算缩放级别2和3以及更高的宽度和高度?
提前致谢。
答案 0 :(得分:1)
执行相同操作的一种更流行的方法是使用位移,因为每个缩放级别总是乘以2的幂。
var x = this.data.Size.X;
var y = this.data.Size.Y;
x = x << (zoom-1);
y = y << (zoom-1);
答案 1 :(得分:0)
感谢jmstoker,我已经想出如何让它正常工作
var x = this.data.Size.X;
var y = this.data.Size.Y;
for (var i = 1; i < zoom; i++) {
x += x;
y += y;
}
我只是得到每一侧的平铺数量,并通过不包括第1级的缩放级别,并为每个缩放级别添加计数。