我正在尝试根据缩放级别计算变量。
例如,我在缩放级别 1 有一个 4x4 的瓷砖网格。现在我放大一次,它会在缩放级别 2 时变为 8 * 8。再次放大,在缩放级别 3 时它将是 16 * 16。等等。
现在我唯一存储的是缩放级别 1 中的两个数字,例如可以更改为 5x4 甚至 1x1。
所以我的问题是如何仅使用这两个数字和缩放级别来计算缩放级别 2 和 3 及以上的宽度和高度?
提前致谢。
我正在尝试根据缩放级别计算变量。
例如,我在缩放级别 1 有一个 4x4 的瓷砖网格。现在我放大一次,它会在缩放级别 2 时变为 8 * 8。再次放大,在缩放级别 3 时它将是 16 * 16。等等。
现在我唯一存储的是缩放级别 1 中的两个数字,例如可以更改为 5x4 甚至 1x1。
所以我的问题是如何仅使用这两个数字和缩放级别来计算缩放级别 2 和 3 及以上的宽度和高度?
提前致谢。
做同样事情的一种更巧妙的方法是使用位移,因为每个缩放级别总是乘以 2 的幂。
var x = this.data.Size.X;
var y = this.data.Size.Y;
x = x << (zoom-1);
y = y << (zoom-1);
感谢 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 的缩放级别的数量,并将每个缩放级别的计数添加到自身。