def test_transpose (self):
# PixelArray.transpose(): swap axis on a 2D array, add a length
# 1 x axis to a 1D array.
sf = pygame.Surface ((3, 7), 0, 32)
ar = pygame.PixelArray (sf)
w, h = ar.shape
dx, dy = ar.strides
for i in range (w * h):
x = i % w
y = i // w
ar[x, y] = i
ar_t = ar.transpose()
self.assertEqual (ar_t.shape, (h, w))
self.assertEqual (ar_t.strides, (dy, dx))
for i in range (w * h):
x = i % w
y = i // w
self.assertEqual (ar_t[y, x], ar[x, y])
ar1D = ar[0]
ar2D = ar1D.transpose()
self.assertEqual (ar2D.shape, (1, h))
for y in range (h):
self.assertEqual (ar1D[y], ar2D[0, y])
ar1D = ar[:,0]
ar2D = ar1D.transpose()
self.assertEqual (ar2D.shape, (1, w))
for x in range (2):
self.assertEqual (ar1D[x], ar2D[0, x])
评论列表
文章目录