Re: [ctypes-users] Iterate over poiters - Newbie
Brought to you by:
theller
From: Thomas H. <th...@py...> - 2005-07-29 17:44:29
|
Michele Petrazzo <mic...@un...> writes: > I'm not a C/C++ developer, so when I use ctypes with pointer and other > hard (for me) C "magic" things, I find some problems. > > My problem, like you can see into this "long" code, is how to translate > the "magic" iteration over a pointer ( pal[i] ) into a python code. > > P.s. I'm go crazy with this. Please help me... :) > ... > > def go(self): > pal, point = self.GetPalette(bitmap) > r,g,b = pal > colUse = self.GetColorsUsed(bitmap) > ##### <--- Here is my problem, I cannot iterate over point.contents! > for i in range(colUse): > cont = point.contents > cont.rgbRed = 255 - r > cont.rgbGreen = 255 - g > cont.rgbBlue = 255 - b You must not use the .contents attribute to access the contents of a ctypes pointer. Use indexing, just as you would in C: def go(self): pal, point = self.GetPalette(bitmap) r,g,b = pal colUse = self.GetColorsUsed(bitmap) for i in range(colUse): cont = point[i] # ^^^ cont.rgbRed = 255 - r cont.rgbGreen = 255 - g cont.rgbBlue = 255 - b Does the tutorial talk about .contents? Then it should be fixed. Thomas |