Mercurial > pygame
diff examples/arraydemo.py @ 2088:27991588198b
upgrade numpy handling to Python 3.x
| author | Lenard Lindstrom <len-l@telus.net> |
|---|---|
| date | Wed, 25 Aug 2010 03:10:19 +0000 |
| parents | 6c5040262b53 |
| children |
line wrap: on
line diff
--- a/examples/arraydemo.py Wed Aug 25 00:53:09 2010 +0000 +++ b/examples/arraydemo.py Wed Aug 25 03:10:19 2010 +0000 @@ -32,10 +32,10 @@ if surfarray.get_arraytype() == 'numpy': import numpy as N - from numpy import int32 + from numpy import int32, uint8, uint else: import Numeric as N - from Numeric import Int32 as int32 + from Numeric import Int32 as int32, UInt8 as uint8, UInt as uint pygame.init() print ('Using %s' % surfarray.get_arraytype().capitalize()) @@ -116,12 +116,15 @@ #soften - soften = N.array(rgbarray)*1 - soften[1:,:] += rgbarray[:-1,:]*8 - soften[:-1,:] += rgbarray[1:,:]*8 - soften[:,1:] += rgbarray[:,:-1]*8 - soften[:,:-1] += rgbarray[:,1:]*8 - soften /= 33 + #having factor as an array forces integer upgrade during multiplication + #of rgbarray, even for numpy. + factor = N.array((8,), int32) + soften = N.array(rgbarray, int32) + soften[1:,:] += rgbarray[:-1,:] * factor + soften[:-1,:] += rgbarray[1:,:] * factor + soften[:,1:] += rgbarray[:,:-1] * factor + soften[:,:-1] += rgbarray[:,1:] * factor + soften //= 33 surfdemo_show(soften, 'soften') @@ -130,10 +133,7 @@ dest = N.zeros(rgbarray.shape) dest[:] = 20, 50, 100 diff = (dest - src) * 0.50 - if surfarray.get_arraytype() == 'numpy': - xfade = src + diff.astype(N.uint) - else: - xfade = src + diff.astype(N.Int) + xfade = src + diff.astype(uint) surfdemo_show(xfade, 'xfade')
