2015-11-01 146 views
0

我觉得这很愚蠢,但忍受着我。我知道公式获得线性阵列的像素位置:如何获得像素位置

pos = (y * width + x) * 4 

它工作正常。 jsFiddle。但在图像/表格被线性化之前,相同的公式不起作用。你需要使用(让我们放弃对简单的RGBA)

pos = (y-1) * width + x 

enter image description here

这是为什么?我可能错过了一些非常简单的事情。


更新:我知道这是简单的东西。傻我。

enter image description here

+4

您的笛卡尔坐标偏离1.列和行计数从0开始,而不是从1开始。 – usr2564301

回答

0

在JavaScript的像素坐标从0开始,同为任何坐标系。该像素由其左上角参考,因此第一个像素位于(0,0),然后下一个右移(1,0)(2,0),依此类推。下面的像素在(0,1)处给出相对于原点(0,0)的坐标。

我们给尺寸计数。当使用宽度和高度时,它们是像素计数,当你计数时你从一开始。所以100像素的99行只是因为这是21世纪一样,但我们是在2015年

所以没必要从像素坐标减去1。